我有一个名为messages
我本地集线器的用户存储他们的消息的表(有点像网络论坛)。目前,大多数用户都参与其中,我每天都会收到近 30 到 50 个新条目。
由于这已经持续了几年,我们已经在表中获得了近 100,000 行数据。表结构有点像这样。and和(昵称)fid
在哪里。PRIMARY
ip
id
INDEX
我直到现在都在使用这种查询;然后在luasql 中迭代结果集,如此链接所示。据我说,这会消耗大量时间和空间(在缓冲区中)。
`msg` VARCHAR(280) NOT NULL,
`id` VARCHAR(30) NOT NULL,
`ctg` VARCHAR(10) NOT NULL,
`date` DATE NOT NULL COMMENT 'date_format( %m/%d/%y )',
`time` TIME NOT NULL COMMENT 'date_format( %H:%i:%s )',
`fid` BIGINT(20) NOT NULL AUTO_INCREMENT,
`ip` CHAR(39) NOT NULL DEFAULT '127.0.0.1'
我的问题是,现在,我们已经切换到PtokaX的新 API,读写请求的数量急剧增加。因为,我最近阅读了 MySQL 程序,我在想这些程序是否是处理这种情况的更快 或 更安全的方法。
SELECT *
FROM ( SELECT *
FROM `messages`
ORDER BY `fid` DESC
LIMIT 50 ) AS `temp`
ORDER BY `fid` ASC;
附言
我们平均每 7 到 10 秒就会收到一个阅读一条消息的请求。在周末,它会上升到大约每 3 秒一次。
如果需要更多信息,请告诉我。
总结一下
他们是我可以调用存储过程并在更短的时间内获得最终结果的一种方式。当前查询(和方法)需要将近 3 秒来获取和组织数据。