検討:
id int(primary key , unique)
status enum('enable','disable')
round tinyint(1) (index)
core tinyint(1) (index)
timestamp int(10) (index)
約 1,800,000 行のテーブルでクエリを取得しました。次のようなクエリがあります。
SELECT *
FROM tblmatch
WHERE status = 'disable'
and round=0
AND core = 3
AND time_stamp < UNIX_TIMESTAMP()
ORDER BY time_stamp ASC
LIMIT 0,10
クエリの行数検査は約168万行。
そのため、クエリに条件を追加id > 1600000
したので、次のようになります。
SELECT *
FROM tblmatch
WHERE id > 1600000
AND status = 'disable'
and round=0
AND time_stamp < UNIX_TIMESTAMP()
ORDER BY time_stamp ASC
LIMIT 0,10
それでも、行の検査は同じです。行審査を突破する方法はありますか?