|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
miltorg мою задачувсе и решают твою задачу и решили. Почему бы тебе не обработать битовое решение в виде как требует твой заказчик? Т.е. осталось из 11,12 совпадений добавить по 11, 12 строк с 10-ю совпадениями кто сказал что БД не нужно? БД нужно, 1. потому что данные ежедневные, необходимо хранить предыдущие комбинации, чтобы не генерить каждый день вчерашнее. 2. потому что там держим и вид "заказчика" и битовый и используем ф-ю для сравнения ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2021, 00:54 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Вид в котором можно делать комбинаторику в SQL - явно не "строка" а ...таблица По-моему где-то выше предлагали что-то похожее таблицаddt n5 01.08.19667 01.08.19668 01.08.196615 01.08.196622 01.08.196623 01.08.196627 01.08.196634 01.08.196637 01.08.196639 01.08.196640 01.08.196641 01.08.196643 01.08.196644 01.08.196650 01.08.196655 01.08.196657 01.08.196658 01.08.196662 01.08.196670 01.08.1966 и дал бы ты данные в виде SQL сразу - неделю бы не копались SQL кодище набора циферек на 1966-08-01) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2021, 01:08 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
теперь самое главное - генерация комбинаций 10 из 20 должно получиться 20!/((20-10)!*10!)=184 756 вариантов (выше уже упоминали) на SQL, все "влоб", ИЗЫСКИ не для нас Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
кстати innodb_buffer_pool_size лучше поставить >1G это лишь пример для строки 1. но я так вижу что первая строка в комбинациях нам не нужна теперь надо отработать "механику телодвижений" - что и зачем (в какой последовательности) делаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2021, 02:23 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Alex_Ustinov, И откуда только 200 тысяч? Вы ведь говорили что всё просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2021, 03:13 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
miltorg, это не решение, это вариант построения комбинаций 10 чисел из 20 я говорил что все просто в вашем методе? запямотовал... как сделать просто - выше все показано. это по вашему пути идем (циклы, "массивы") да, и что здесь сложного? 184756 - наука комбинаторика 10 из 20, заметьте - это только для одной "строки 20 чисел", т.е. для 1-го дня для каждой новой "строки чисел" будем строить всевозможные 10-ки и сравнивать с уже имеющимися "строками 20-ти чисел " на вхождение. 1. Вариант держать 184тыщ для каждого дня я думаю не подходит, хотя решение "влоб" - самое простое - именно такое. накопленную вариационную таблицу за 5000 тыс дней (х184тыщ=) джойним с таблицей нового 5001 дня 184тыщ на совпадения и кладем машину в вечный сон 2. поэтому второй вариант -итерационный - первый день записали строку 1 второй день - построили 184тыщ комбинаций и проверили на вхождение в 1-ю строку, результат скинули в накопительную табличку 3 день - построили 184тыщ комбинаций и проверили на вхождение в 1-ю и 2 строку , результат скинули в накопительную табличку, обработали варианты вхождений ...... 5001 день - построили 184тыщ комбинаций нового дня и проверили вхождение в 5000 "строк из 20 чисел" (Ура! вот он МИЛЛИАРД! 5тыщ Х 184тыщ) результат скинули в накопительную табличку, обработали варианты вхождений какой выберем способ?) мне кажется все просто, хотя у меня бессоница, я мог напутать насчет простоты и в циферках ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2021, 05:03 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Alex_Ustinov, Прошло полмесяца, а он всё никак не выберет способ решения для "простенькой задачи" ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2021, 05:19 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
miltorg, прошла неделя, или вы уже по чесноку полмесяца решаете-проверяете? Прискорбно... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2021, 05:53 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
Arhat109 Я с вас фигею господа. Вам реально больше не чем заняться? Дело было в пятницу. Что бы и не решить ПТУшную лабу. Он две недели уже пыжится, давит из себя, сервак насилует своим говнокодом. Жалко смотреть. Arhat109 Вы тогда и нам на фирму пару запросов пооптимизируете, а то отчетик как-то долго готовиться начал .. минут 10. Так скидывай, может что кто и подскажет дельного. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2021, 16:45 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
miltorg, Вот так, легко и не принужденно, делается нормализированный словарь вместо выхлопа говна, который хочет твой заказчик. Из размера набор дат сам посчитаешь своё cnt, я понятие не имею, какое тебе надо. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Но суть не в этом. Я сгенерил эти твои 5к записей и сей, не слишком хороший, код отработал за 18 секунд на затычке Код: sql 1.
сожрав всего 70 мб памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2021, 21:17 |
|
Как отсортировать 1 миллиард записей?
|
|||
---|---|---|---|
#18+
crutchmaster, Где то на 4 странице я написал что задача полностью решена - но человек никак не может успокоиться. Код ваш не смотрел. Потому что начиная с 4 страницы я прошу только решения-ответ в виде который требует заказчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2021, 21:23 |
|
|
start [/forum/topic.php?fid=47&msg=40038216&tid=1828220]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 254ms |
total: | 388ms |
0 / 0 |