Ho una query:limite superiore Mysql per il conteggio (*)
select count(*) from `table` where `something`>123
Se la tabella ha pochi milioni di dischi, la query viene eseguita molto lento anche se non c'è un indice sulla colonna di something
. Tuttavia, in realtà io sono interessato a valore:
min(100000, count(*))
Quindi non v'è alcun modo per evitare che MySQL da contare le righe quando già trovato 100k? Ho trovato qualcosa di simile:
select count(*) from (select 1 from `table` where `something`>123 limit 100000) as `asd`
E 'molto più veloce di count(*)
se la tabella ha un paio di milioni di voci corrispondenti, ma count(*)
corre molto più velocemente quando ci sono meno di 100000 partite.
C'è un modo per farlo più velocemente?
darò per scontato che è un errore di battitura che un limite è '123' e l'altro è' 23'. – Kevin
Lo è. Risolto, grazie. –
Che tipo di colonna è 'qualcosa? Stai usando InnoDB? –