我有一张表,每次请求服务器,都存储在它上面 对于每个请求,我会检查它是否被禁止 例如,它是一个查询:
select * from requests where request_sessID = '4bc0331d983000902b4718c80f12e9b3' AND request_time > (UNIX_TIMESTAMP() - 3600) AND request_isEnable = 1
我还将引擎从InnoDB设置为MyISAM,将row_format设置为Dynamic但没有任何改变
我的硬件非常强大,但执行大约需要一分钟!
我是mysql的程序员和新手
如何加快此查询?
在此先感谢
答案 0 :(得分:1)
您的桌子中有多少个条目?十亿?
我不这么认为你可以加快你的要求,但你需要在你的桌子上创建一个covered index。
它可能如下所示,但您需要首先看一下理论,以正确的顺序编写字段(首先是最可能的字段,......)(上面的链接)
ALTER TABLE requests
ADD INDEX (request_sessID, request_time, request_isEnable);