Jaki jest najszybszy sposób sprawdzenia, czy tabela SQLite ma więcej niż 100 000 wierszy?SQLite: najszybszy sposób sprawdzenia, czy tabela ma więcej niż x wierszy
Tabela testowa ma 26 kolumn i 200 000 000 wierszy.
SELECT COUNT(*) FROM (SELECT * FROM table LIMIT 100001)
zajęło 0,27 sekundy.
następujące trzy potrzebne 12 i pół minuty
SELECT COUNT(*) FROM table
SELECT COUNT(*) FROM table LIMIT 100001
SELECT CASE WHEN COUNT(Id) >= 100000 THEN 1 ELSE 0 END FROM table
wybierz liczbę (*) ze stołu? –
SELECT * nie jest dobrym pomysłem, aby uzyskać liczbę wierszy, użyj pola indeksowanego. – ChrisBint
@ChrisBint: potrzebny jest indeks na kolumnie ** not null ** (np. PK) nie tylko "* jakiś indeks *". Większość DBMS, które znam, automatycznie używa takiego indeksu dla 'count (*)'. Czy twój komentarz sugeruje, że SQLite nie jest tak inteligentny? –