大表上的SELECT COUNT(0)很慢

时间:2015-09-02 15:10:06

标签: mysql sql mariadb

SELECT COUNT(0) FROM ts_client
LEFT JOIN ts_shop_client ON shop_client_id_client = client_id
WHERE client_email IS NOT NULL AND shop_client_id_shop = 1

说明: enter image description here

ts_client中的行是4904908,ts_shop_client中的行是3547939。

我已正确设置索引,而sql的慢速时间是5,49 - 9,50s。

大家好。

任何加速sql的解决方案?

表ts_client

enter image description here

表ts_shop_client

enter image description here

索引ts_shop_client

enter image description here 感谢

1 个答案:

答案 0 :(得分:0)

添加

INDEX(shop_client_id_client, shop_client_id_shop) -- in either order.

这样的索引将缩小您需要查看的行数。这加快了速度。

之前,它必须阅读,然后跳过shop_client_id_shop不是1的每一行。