gpt4 book ai didi

MYSQL : LEFT JOIN run slowly

转载 作者:行者123 更新时间:2023-11-29 14:12:30 25 4
gpt4 key购买 nike

我有两张 table :

table 1

table 2

然后我对两个表进行左连接:

SELECT DATE(`Inspection_datetime`) AS Date, `Line`,`Model`, `Lot_no`, 
COUNT(A.`Serial_number`) AS Qty,B.`name`
FROM `inspection_report` AS A
LEFT JOIN `Employee` AS B
ON A.`NIK` LIKE B.NIK
GROUP BY Date , A.Model ,A.Lot_no,A.Line,B.`name`
ORDER BY Date DESC

这个查询使我的 Jquery DataTable 插件运行非常慢,甚至数据不显示。奇怪的一点是在这个字段B.name,如果我在查询中提到它,数据不会出现,但如果我删除它,数据就会出现(我的意思是不做LEFT JOIN )。

我的查询是否不够好?这是我的解释:

TABLE 1

id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE inspection_report ALL NULL NULL NULL NULL 334518

TABLE 2
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE Employee ALL NULL NULL NULL NULL 100

QUERY
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE B ALL NULL NULL NULL NULL 100 Using temporary; Using filesort
1 SIMPLE A ALL NULL NULL NULL NULL 334520 Using where; Using join buffer

最佳答案

您使用 LIKE 子句而不是相等进行连接有什么特殊原因吗?

SELECT DATE(`Inspection_datetime`) AS Date, `Line`,`Model`, `Lot_no`, 
COUNT(A.`Serial_number`) AS Qty,B.`name`
FROM `inspection_report` AS A
LEFT JOIN `Employee` AS B
ON A.`NIK` = B.NIK
GROUP BY Date , A.Model ,A.Lot_no,A.Line,B.`name`
ORDER BY Date DESC

应该会产生更好的结果。

此外,向 A.NIK 添加索引应该会对连接操作有很大帮助。

CREATE INDEX inspection_report_nik ON inspection_report (NIK);

关于MYSQL : LEFT JOIN run slowly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13243411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com