Всем привет.
Вопрос такой я делаю записи сначала в одну таблицу, а потом в следующий раз во вторую и в конце сравниваю обе таблицы по определенным параметрам и сохраняю в table3, использую mysql,
таблица имеет такой вид id_site, url, title, description и еще несколько параметров
мне в конце нужно взять обе таблицы и сравнить каждую строку с одинаковым id_site и урлом на различия в тайтле и desc.
запрос может быть такой
SELECT *
FROM table1 LEFT JOIN table2
ON table1.url = table2.url
WHERE table1.id_site= %s
AND table2.url IS NOT NULL
AND table1.title != table2.title
в таблице несколько миллионов записей и такая выборка длится очень долго ( от 20 до 30 минут )
такие как нужно индексы сделать не могу так как дозволено только 1000 байт, а у меня больше выходит если делать такой
id_site,url,title или id_site,url,description
и соответственно могу только такой сделать id_site,url,
(id_site может быть одинаковый у 1 000 000 урлов так как это идентификатор сайта к которому он принадлежит ),
так вот плюс к тому что я не могу сделать такие как мне нужно индексы мне подсказали что индексы из str плохой пример,
кто подскажет как быть в такой ситуации использовать что-то типа
nosql-database или еще что-то,
или сделать просто индексы по id_site и в момент сравнение не делать его через join, а сделать выборку всего что есть по этому же id_site и дальше уже средствами ЯП делать нужное сравнение, но я боюсь что список из 1 000 000+ может сделать что-то плохое)