serg_small_developer
@serg_small_developer
Начинающий прогер

Что лучше база или сравнение внутри ЯП?

Всем привет.
Вопрос такой я делаю записи сначала в одну таблицу, а потом в следующий раз во вторую и в конце сравниваю обе таблицы по определенным параметрам и сохраняю в 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+ может сделать что-то плохое)
  • Вопрос задан
  • 231 просмотр
Решения вопроса 2
@vanillathunder
По возможности нужно избегать обработки данных в коде. Запросы работают намного быстрее.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
однозначного ответа на вопрос нет
ибо с процедурами и в базу можно логики наложить ого-го

подход: "в базе храним, в коде считаем" обычно больше распространен,

тем не менее, например, из-за того же GIL проще попросить Мускуль проц грузануть на всех ядрах, чем возиться с мултипроцессингом, с другой стороны, если все попросят... да и не Питоном считать можно
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы