|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
paver, да, это офигенно! Я сразу понял, что хранить в двоичном виде лучше, но до битовых операций не допер! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 16:28 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
paver, Хорошее решение. Да, рано мы закопали битовые операции, хотя это первый за многое время случай, где они действительно уместны. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2021, 17:37 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Я практически решил задачу где совпадений в строках - 10 Остались решить задачи с 11 и 12 совпадений. Скорее всего я просто, по новой их разложу на 10 совпадений и добавлю к общей таблице совпадений. Потом сортировка, которая занимает секунды - и решение готово! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2021, 12:18 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
miltorg Я практически решил задачу где совпадений в строках - 10 Тем временем тебе задачу уже решили в общем случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2021, 04:57 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
paver Поскольку в MySQL максимальный диапазон ограничен 64 битами, придется использовать два поля по 50 бит. Оказывается в 8-ке это ограничение уже снято. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2021, 09:52 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
crutchmaster, У меня практически есть полный код. Вчера я обработал случай при 11 совпадениях в строках. Сегодня обработаю 12 совпадений. 13 совпадений вроде не было вообще. А у вас нет кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2021, 14:01 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
miltorg Как отсортировать 1 миллиард записей? Максимум который сортирует mySQL - 3 миллиона записей. И то, начинаются страшные тормоза и зависание. Что делать? Спасибо. ФИЛЬТРОВАТЬ! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2021, 15:33 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
miltorg Как отсортировать 1 миллиард записей? Э, извини, я не так прочитал в первый раз, вместо "миллиард" я прочитал "миллион", а то сразу бы сказал, что я об этом думаю... Ты что, идиот совсем? МИЛЛИАРД записей хочешь сортировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2021, 15:39 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
paver Оказывается в 8-ке это ограничение уже снято. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2021, 17:41 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Можно услугу такую продавать. Сортировку толстых файлов. От 70 Гб P.S. Побежал регистрировать домен под это дело.... ТС... я вам этого не говорил! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2021, 18:47 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
вадя paver Оказывается в 8-ке это ограничение уже снято. https://dev.mysql.com/doc/refman/8.0/en/bit-functions.html "Bit operations become possible on values longer than 64 bits". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 05:49 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 05:53 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
miltorg Сегодня обработаю 12 совпадений. Да переписать любым способом быстрее, чем ждать пока оно у тебя отработает для каждого случая. miltorg А у вас нет кода. У нас задачи нет с заказчиком и исходными данными. Нафига нам готовый код? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 07:04 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
mayton, - мне 5 тысяч рублей. каждый месяц - за идею. Я буду доволен. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 14:10 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
интересный топик... а в SQL никто так и не показал (и я не силен) упростим, есть показания х1, х2 ,х3,х4 на дату искать половину (или больше) всевозможных совпадающих показателей объекта... x = {x1 x2 x3 x4} y = (y1 y2) Y << X странно что это в топике MySQL это же Сишники по пятницам решают?) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 22:02 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
miltorg mayton, - мне 5 тысяч рублей. каждый месяц - за идею. Я буду доволен. Знаешь как говорят в америке. За идею - 1 доллар. За реализацию 100 долларов. А за продажу решения - миллионы. А чтоб далеко не бегать - https://en.wikipedia.org/wiki/External_sorting внешняя сортировка или еще бывает дисковая сортировка Утилиты о которых я слыхал но лично не пробовал
нам не надо будет прогружать все в таблицу и индексировать нужное поле. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 22:29 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Alex_Ustinov интересный топик... а в SQL никто так и не показал (и я не силен) 22261538 Alex_Ustinov Y << X Как это будет работать? Текущее решение - из цифр сделать биты, например 1,2,3,4,7 заменить на 0x4F (0100 1111). Потом сделать декартово с побитовом "и", посчитать биты и оставить всё, где получится больше 10. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 03:58 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
crutchmaster, да, вчитался - хитро придумано ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 18:42 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
у правда работает) интересно девки пляшут вхождение 7,17 в множество 2,3,4,15,17 Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 19:14 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Задачу я наконец то решил. Теперь вопрос как это всё проверить? Кроме того что искусственно создать несколько одинаковых строк - ничего в голову и не приходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 01:18 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
paver Данные (все 5000 записей) следует перевести в битовые величины длиной в 100 (ну или два раза по 50) битов. И именно так их хранить. Вместо строки "2_12_21_28_36_...", например, нужно получить битовую величину с единицами во 2, 12, 21 и так далее позициях. Получение количества совпадений чисел в 2 произвольных строках A и B - это количество бит в их побитовом произведении: SELECT BIT_COUNT(A & B). Т.е. при ежедневном добавлении новой строки нужно преобразовать ее список чисел в битовый формат (напр, в переменную A), после чего выполнить порядка 5000 произведений, Код: sql 1. 2. 3.
Если нужно единоразово прошерстить все строки Код: sql 1. 2. 3. 4.
Поскольку в MySQL максимальный диапазон ограничен 64 битами, придется использовать два поля по 50 бит. Ну и представить результат в формате, как нужно заказчмку. Извините что долго не отвечал - делал по своему методу. Вот этот ваш код он для чего? 1. Для сортировки 1 миллиарда записей? 2. Для полного решения задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 01:25 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
miltorg Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
нужно найти строки имеющие 10 совпадений цифр Итак. Будем считать это исходным. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 01:28 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Добавим даты: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 01:50 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Так лучше. Исходное: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 03:05 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Результат 1 части: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2021, 03:20 |
|
|
start [/forum/topic.php?fid=47&msg=40036310&tid=1828220]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 163ms |
0 / 0 |