gpt4 book ai didi

mysql - SQL 查询在服务器中执行时间太长

转载 作者:行者123 更新时间:2023-11-29 02:45:08 25 4
gpt4 key购买 nike

上周我在服务器上运行了我的 sql 查询,花了一天时间才完成查询。但是当我在本地主机上尝试时,它运行得很快。

SET @curr_date = CURDATE();

SELECT s.created_date as 'date', 'registrasi_h2h' as transaction , s.no_ecash as nomor_ecash, IFNULL(s.partner_id,'') as partner_id
FROM subscription_hist s
WHERE DATE(s.created_date) = @curr_date - INTERVAL 1 DAY
ORDER BY s.created_date ASC;

整个星期我都在努力寻找问题,但找不到解决方案。

最佳答案

我能给你的唯一建议是尝试添加一个可以在 WHERE 子句中使用的索引来加快速度。由于您实际上是在查找特定日期的记录,因此 created_date 上的索引可能会有很大帮助。

ALTER TABLE subscription_hist ADD INDEX c_date_idx (created_date)

MySQL 不支持函数索引,因此在 WHERE 子句中使用 DATE(created_date) 可能无法利用索引。但是,如果 created_date 已经是日期时间列,那么我什至看不到用 DATE() 包装它的任何意义。直接使用该列,例如像这样:

SELECT
created_date AS `date`,
'registrasi_h2h' AS transaction,
no_ecash AS nomor_ecash,
IFNULL(partner_id, '') AS partner_id
FROM subscription_hist
WHERE created_date >= CURDATE() - INTERVAL 1 DAY AND
created_date < CURDATE()
ORDER BY created_date ASC;

点击下面的链接获取显示日期逻辑正常工作的演示。

Rextester

关于mysql - SQL 查询在服务器中执行时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43729815/

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