MySQL离开加入需要花费太多时间

时间:2017-05-26 04:18:02

标签: mysql database

我试图理解为什么这个mysql语句需要这么长时间来加载..基本上我有3个表,每个都有列VIN作为唯一,每个VIN都存在于所有3个

SELECT * FROM vehicle_information i 
 LEFT JOIN vehicle_extra e on i.vin = e.vin 
LEFT JOIN Images im on i.vin = im.vin

我有大约4000个应该填充的vins并且花费大约10秒..我试图使用相同的查询搜索特定的行并在最后添加Where子句,它需要0.05秒 我在这里缺少什么?

附上说明 enter image description here

3 个答案:

答案 0 :(得分:1)

看起来我在其他2个表中缺少唯一,将vin设置为所有表的唯一,而不仅仅是第一个解决问题

答案 1 :(得分:0)

尝试在表格上添加索引。

CREATE INDEX index_name ON Table1 (ID);

答案 2 :(得分:-3)

你可以尝试使用where子句,如: 从table1 tab1,table2 tab2,table3 tab3中选择tab1。*,tab2.c1,tab2.c2,tab3.c4,tab3.c5,其中tab1.id = tab2.id和tab1.id = tab3.id。 这种类型的查询对您有帮助吗? 尝试在表格上添加索引。