小编Cra*_*aig的帖子

我的子查询为执行时间增加了20秒.我怎样才能加快速度?

我有一个已发送短信的表格,该短信必须加入到送达回执表中才能获得最新的短信状态.

有997,148条发送短信.

我正在运行此查询:

SELECT
    m.id,
    m.user_id,
    m.api_key,
    m.to,
    m.message,
    m.sender_id,
    m.route,
    m.submission_reference,
    m.unique_submission_reference,
    m.reason_code,
    m.timestamp,
    d.id AS dlrid,
    d.dlr_status
FROM
    messages_sent m
LEFT JOIN
    delivery_receipts d
ON
    d.message_id = m.id
AND
    d.id = (SELECT MAX(id) FROM delivery_receipts WHERE message_id = m.id)
Run Code Online (Sandbox Code Playgroud)

返回997,148个结果,包括每条消息的最新状态.

这需要22.8688秒来执行.

这是SQL messages_sent:

CREATE TABLE IF NOT EXISTS `messages_sent` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL,
`api_key` varchar(40) NOT NULL,
`to` varchar(15) NOT NULL,
`message` text NOT NULL,
`type` enum('sms','mms') NOT NULL …
Run Code Online (Sandbox Code Playgroud)

php mysql sql database phpmyadmin

7
推荐指数
1
解决办法
294
查看次数

标签 统计

database ×1

mysql ×1

php ×1

phpmyadmin ×1

sql ×1