Я уже просмотрел много сообщений об этой проблеме (подзапросы очень медленные в sqlite). но я не очень хорош в SQL, и я не знаю, что я могу сделать.
У меня есть этот запрос:
SELECT * FROM data d WHERE d.category = 3 AND
(SELECT COUNT(id) FROM data_tag WHERE data = d.id AND (tag = 2136 OR tag = 8)) >= 2
ORDER BY id ASC
у меня 3 стола
data, tag и data_tag (n-m данных и тега)
Каждые данные имеют n тегов, и в этом запросе я ищу данные по тегам (2 тега, оба должны быть в данных)
я переключил свою базу данных с SQL Server на sqlite, и кроме этого запроса все работает отлично.
в SQL Server выполнение этого заняло менее 1 секунды, а в sqlite - около 1 минуты.
дайте мне несколько советов.