繁体   English   中英

MySQL离开了连接优化

[英]MySQL left join optimization

我有2张桌子:

  • formfill有列idmessagevaluenamefield
  • fields的列namefieldtypefieldoptionsfield

我没有任何主键。 关系是名称字段列之间的关系。

我的查询是:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM