Я понимаю, что существуют ограничения для использования sqlite, но я хотел бы знать, сможет ли он справиться с этим сценарием.
В моей таблице более 300 миллионов записей, а база данных составляет около 12 гигабайт.Утилита импорта данных с помощью sqlite хороша и быстра.Но затем я добавил индекс к строковому столбцу в этой таблице, и он выполнялся всю ночь, чтобы завершить эту операцию.Я не сравнивал это с другими БД, но мне показалось довольно медленным.
Теперь, когда мой индекс добавлен, я хочу найти дубликаты в данных.Итак, я пытаюсь выполнить запрос «count> 0», и, похоже, он также занимает часы.Мой запрос выглядит так:
select col1, count(*)
from table1
group by col1
having count(*) > 1
Я бы предположил, что этот запрос будет использовать мой индекс на col1, но медленное выполнение запроса заставляет меня задуматься, а не так ли?
Возможно, SQL-сервер справится с такими вещами лучше?