[英]MySQL left join optimization
我有2张桌子:
formfill
有列idmessage
, value
, namefield
。 fields
的列namefield
, typefield
, optionsfield
。 我没有任何主键。 关系是名称字段列之间的关系。
我的查询是:
select e.namefield,e.typefield,e.optionsfield,b.value,b.id
from fields as e
left join formfill as b on e.namefield = b.namefield and b.id=1011
这个查询没问题。 但它运行得非常慢(大约10秒钟)。 我怎样才能让它更快?
您可能应该发布您的查询计划
http://dev.mysql.com/doc/refman/5.0/en/explain.html
但是查询执行的速度很慢
你没有索引,引擎必须执行全扫描,所以最好在你有'='之类的操作的字段上添加索引。 如果使用=或<>,索引的类型可以是'hash',而对于<或>等操作,则可以是btree
右表中的行数大于左表中的一个,大小为10或更多,所以索引没有多大帮助,你需要考虑分区数据
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.