MariaDB(mySQL) — как быстро(!) оставить только уникальные варианты?
Вопрос больше общего характера, чем по конкретной ситуации.
В ответ на запрос получаем ответ: 1,2,5,8,1,2,2,4,3,5,7
Нужно получить только уникальные(не повторяющиеся) значения - такое: 1,2,5,8,4,3,7
Обычно для этого используют SELECT DISTINCT или GROUP BY если первое невозможно.
Проблема в том, что запрос без SELECT DISTINCT выполняется примерно за 4 мин(база большая - это довольно приемлемо.)
Запрос с SELECT DISTINCT - выполняется уже порядка получаса, это очень долго.
AnneSmith, я немного новичок, и думаю что вы написали неплохой вариант, но не пойму, как это реализовать.
сортировать в базе, дубликаты убрать кодом
Что значит сортировать в базе?
Дубликаты убрать кодом - отдельно смысл понятен, а тут нет. Тем более, что результат запроса сохраняется в файл при помощи INTO OUTFILE '/tempS/temp12.txt'
Exploding, идея классная, но когда ответ на запрос содержит несколько миллионов значений - то это вряд-ли будет работать корректно.
Вообще, сейчас таблица без индексов(так посоветовали в соседнем вопросе) - но сейчас попробую добавить по одной из колонок.