如何在超过 1000 万且仍在增加的上运行 Select MySQL 命令



我如何在拥有超过 1000 万条记录并且每秒仍在增长的表上更快地运行此 mysql select 命令。

"SELECT 
date,ip,time,messagetype,username,nasip,
failurecode,callerid,authordata,cmd,groupname 
FROM (SELECT * 
FROM " . $tableName . " 
WHERE callerid NOT LIKE '10.%') AS T1 
WHERE date BETWEEN '" . $date_back . "' AND '" . $date . "' 
AND callerid <> '-' 
ORDER BY time DESC"

表中的当前记录计数为 13267701

索引在所有列上完成

编辑以反映急剧改变的问题...

这不是做同样的事情吗:

SELECT date
, ip
, time
, messagetype
, username
, nasip
, failurecode
, callerid
, authordata
, cmd
, groupname 
FROM $tableName 
WHERE callerid NOT LIKE '10.%'
AND date BETWEEN '$date_back' AND '$date'
AND callerid <> '-' 
ORDER 
BY time DESC

索引 on (callerid,date( 可能很有用。

另请参阅关于 SQL 注入。

最新更新