我有一個查詢上限:MySQL的COUNT(*)
select count(*) from `table` where `something`>123
如果表中有幾百萬條記錄,查詢運行,即使有上something
列的索引很慢。然而,事實上我很感興趣的值:
min(100000, count(*))
那麼,有沒有辦法阻止MySQL的計數,行,當它已經找到10萬?我發現這樣的:
select count(*) from (select 1 from `table` where `something`>123 limit 100000) as `asd`
它比count(*)
快得多如果表中有幾百萬的匹配項,但count(*)
運行速度更快,當有較少的超過10萬輪的比賽。
有沒有辦法更快地做到這一點?
我會認爲這是一個錯字一個限制是'123',另一個是'23'。 – Kevin
是的。修正了,謝謝。 –
什麼樣的列是'東西'?你在使用InnoDB嗎? –