我有两张桌子:formfill具有列idmessage,value,namefield。fields具有列namefield,typefield,optionsfield。我没有主键。关系在namefield列之间。我的问题是:select e.namefield,e.typefield,e.optionsfield,b.value,b.idfrom fields as eleft 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但是查询执行速度慢意味着您没有索引,引擎必须执行fullscan操作,因此最好在具有“=”等操作的字段上添加索引。如果使用=或,则索引类型可以是“hash”,对于类似于的操作,则索引类型可以是btree。右表中的行数比左表中的行数大10个或更多,因此索引没有多大帮助,您需要考虑对数据进行分区 10-05 19:29