我有一个已发送短信的表格,该短信必须加入到送达回执表中才能获得最新的短信状态.
有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)