ли хотя бы одна строка и если сджойнилась, то дальше не джойнить?
суть: есть таблица вида (юзер_айди, железо_айди, дата_логина)
задача: отобрать разных юзеров, которые логинились с одного и того же желаза с интервалом менее чем в месяц.
так то задача простая, заждойнил таблицу саму на себя по железо_айди и юзер_айди1 <> юзер_айди2 и всё, но проблема в том, что строк в таблице много, 400 млн, и попадаются железки, с которых производились тысячи регистраций разных аккаунтов, и каждая такая железка вернёт количество строк в квадрате, т.е. уже миллионы.
короче ресурсов не хватило что бы выполнился этот запрос.
короче есть ли какой-то способ для каждой записи когда сджойнило хотя бы одну строку, то не джойнить остальные а перейти уже к другой записи? мне не нужны все совпавшие строки, нужен только факт хотя бы одного совпадения для каждого пользователя. 400 млн строк бд ещё пережевать может без проблем, но при джоине их становится несколько лярдов и бд уже плохо
Если у вас железки по категориям разбиты, то можно по ним попарсить, сначала посмотреть логины с мобилок, потом логины с компуторов и т.д. но это так, лирика
Where exists
нет, нету категорий, просто guidы
таблица партиционирована по юзеру кстати?
она партиционирована по дате, что в данном случае никак не помагает
Обсуждают сегодня