powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как отсортировать 1 миллиард записей?
25 сообщений из 336, страница 12 из 14
Как отсортировать 1 миллиард записей?
    #40037872
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,


crutchmaster
Проверяй.

Ладно, сам проверю.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
[
  '1.08.1966  21.08.1966  5,7,8,15,22,23,27,34,37,39,40,41,43,44,50,55,57,58,62,70  5,7,8,15,22,23,27,34,37,39,40,42,44,45,46,47,52,64,66,69  12',
  '3.08.1966  5.08.1966  2,3,5,12,15,21,23,24,26,28,36,37,38,39,50,53,55,59,66,68  2,8,11,12,14,17,18,20,21,28,36,43,50,53,55,56,59,62,64,66  10',
  '3.08.1966  14.08.1966  2,3,5,12,15,21,23,24,26,28,36,37,38,39,50,53,55,59,66,68  3,5,9,19,24,25,26,27,28,33,34,40,45,50,53,55,59,63,64,66  10',
  '3.08.1966  16.08.1966  2,3,5,12,15,21,23,24,26,28,36,37,38,39,50,53,55,59,66,68  2,3,5,7,15,23,28,29,32,37,38,46,49,50,52,53,59,60,61,62  11',
  '6.08.1966  18.08.1966  2,5,10,11,15,16,18,19,27,29,30,32,33,35,42,43,45,62,63,65  11,15,16,22,25,28,29,32,34,35,42,43,47,49,52,53,54,57,62,63  10',
  '7.08.1966  9.08.1966  5,6,7,8,16,21,27,30,39,46,49,50,51,53,54,58,62,64,68,70  7,8,12,13,14,21,23,24,27,28,30,38,40,49,50,52,53,54,63,68  10',
  '10.08.1966  21.08.1966  1,3,5,7,9,10,14,21,23,27,31,34,45,46,47,48,51,52,64,65  5,7,8,15,22,23,27,34,37,39,40,42,44,45,46,47,52,64,66,69  10',
  '12.08.1966  21.08.1966  2,9,11,12,13,17,18,23,25,27,33,38,40,44,45,46,47,52,64,66  5,7,8,15,22,23,27,34,37,39,40,42,44,45,46,47,52,64,66,69  10',
  '13.08.1966  17.08.1966  1,5,6,11,14,16,17,20,22,23,25,26,31,41,44,47,56,59,64,70  1,5,7,9,11,16,18,20,22,25,26,35,45,46,47,51,56,67,68,70  11',
  '19.08.1966  20.08.1966  8,9,15,17,26,30,31,35,37,38,41,42,44,50,52,58,60,64,66,69  4,6,8,15,16,17,18,24,26,33,34,35,36,37,42,44,50,54,65,69  10'
]



Со сдвигом ошибся.
Код: javascript
1.
        var shift = Math.floor((v - 1) / 32);
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037899
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crutchmaster

miltorg
Так что всё это нужно писать в БД.

Тебе не нужно 2м строк. И сортировки делать не нужно. Коду, что выше это не нужно. Никому это не нужно. Закидываешь свои несчастные 5к строк (да хоть 10М, лишь бы RAM хватило) и вперёд. Если боишься выхлопа можешь сразу его писать в файл.

Исходные данные и результат имеет смысл хранить в БД. Тогда при ежедневном добавлении одной исходной записи не нужно перелопачивать "всех со всеми" (25 миллионов сравнений, если что). Сравнить все с последней (5000 сравнений), совпадения дописать в таблицу результатов.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037910
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю оно будет обрабатываться настолько быстро, что смысла в этом будет не очень много. Даже если новые данные умножаешь на старые, а потом дописываешь в конец файла. Всё можно сделать без бд, она тут не нужна - индексы не используются, множественный доступ не используется, выборок нет, обновлений отдельных записей нет. Зачем тут бд?
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037920
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут ТС похоже надо узнать сколько "строк" совпадений, а не кол-во пар совпадений,
1. т.е. хранить в БД надо именно уникальные комбинации из 10 чисел совпадений, а не пары.
т.е. на данный момент + GROUP BY "10 чисел" на результат из совпадающих пар
2. для новой 5001 строки ищем пары с накопительной таблицей п.1
----
12 лямов записей уже не будет


поэтому лучше с БД
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037927
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster

А дублировать строки обязательно?


Да. Так в ТЗ - причём заказчик настаивал на этом пункте.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037929
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и если хранить в бд накопительную таблицу - то индексы ест-но будут использоватся
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037937
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Где у тебя пара 19.08.1966 и 20.08.1966 в результате?


раз: 22264236

два: 22264237

три: 22264238

четыре: 22264239

Я с вами не буду больше разговаривать. Вы не видите результат в 4 местах.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037940
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg,


miltorg
Вы не видите результат в 4 местах.

А скинул ты что? Сам хоть видел, что скопипастил?
22267376
А это что должно у вас получиться в конечном итоге из тестового файла:
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037942
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
Я с вами не буду больше разговаривать.

Жс-говнокод работает лучше, чем то, что ты там 2 недели ваял. Конечно ты не будешь больше разговаривать. Какой-то хипстор - ПТУшник уделал инженера с ВО. Возмутительно.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037945
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К тестовому исходному, за это время я добавил ещё одну строку:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
1.08.1966	5 7 8 15 22 23 27 34 37 39 40 41 43 44 50 55 57 58 62 70
2.08.1966	3 5 9 12 15 16 19 20 23 25 29 30 34 37 43 48 55 58 59 61
3.08.1966	2 3 5 12 15 21 23 24 26 28 36 37 38 39 50 53 55 59 66 68
4.08.1966	2 3 5 7 8 11 14 16 19 25 35 43 50 51 55 60 61 66 67 70
5.08.1966	2 8 11 12 14 17 18 20 21 28 36 43 50 53 55 56 59 62 64 66
6.08.1966	2 5 10 11 15 16 18 19 27 29 30 32 33 35 42 43 45 62 63 65
7.08.1966	5 6 7 8 16 21 27 30 39 46 49 50 51 53 54 58 62 64 68 70
8.08.1966	1 2 3 7 9 11 12 13 15 17 20 24 26 28 34 45 48 49 61 66
9.08.1966	7 8 12 13 14 21 23 24 27 28 30 38 40 49 50 52 53 54 63 68
10.08.1966	1 3 5 7 9 10 14 21 23 27 31 34 45 46 47 48 51 52 64 65
11.08.1966	1 5 6 7 9 11 14 17 29 30 33 36 37 39 42 43 48 50 64 65
12.08.1966	2 9 11 12 13 17 18 23 25 27 33 38 40 44 45 46 47 52 64 66
13.08.1966	1 5 6 11 14 16 17 20 22 23 25 26 31 41 44 47 56 59 64 70
14.08.1966	3 5 9 19 24 25 26 27 28 33 34 40 45 50 53 55 59 63 64 66
15.08.1966	3 6 8 11 13 19 23 25 28 32 33 34 37 41 50 54 56 57 59 65
16.08.1966	2 3 5 7 15 23 28 29 32 37 38 46 49 50 52 53 59 60 61 62
17.08.1966	1 5 7 9 11 16 18 20 22 25 26 35 45 46 47 51 56 67 68 70
18.08.1966	11 15 16 22 25 28 29 32 34 35 42 43 47 49 52 53 54 57 62 63
19.08.1966	8 9 15 17 26 30 31 35 37 38 41 42 44 50 52 58 60 64 66 69
20.08.1966	4 6 8 15 16 17 18 24 26 33 34 35 36 37 42 44 50 54 65 69
21.08.1966	5 7 8 15 22 23 27 34 37 39 40 42 44 45 46 47 52 64 66 69
22.08.1966	5 7 8 15 22 23 27 34 37 39 40 71 72 73 74 75 76 77 78 79



Не какие результаты, кроме как в виде, требуемом заказчиком - больше не анализирую.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037961
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg,

Ладно, ладно. Я освобожусь, еще кусочек напишу, перестановочки сделаю и мы с тобой всё обсудим.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037963
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster,

Давай ПТУ! Дерзай
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037964
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё усилие - и вы поймёте задание почти полностью

тема начата полмесяца назад.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037968
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10 записей сравнить с этими же 10 записями -> меньше 100 сравнений

5000 записей сравнить с - 5000 записей -> меньше 25 000 000 -> меньше 25 миллионов - а это время.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037985
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
новая строка - отлично!

idid1dtdt1allesXXX12101.08.196621.08.19665-7-8-15-22-23-27-34-37-39-40-441212201.08.196622.08.19665-7-8-15-22-23-27-34-37-39-40113503.08.196605.08.19662-12-21-28-36-50-53-55-59-661031403.08.196614.08.19663-5-24-26-28-50-53-55-59-661031603.08.196616.08.19662-3-5-15-23-28-37-38-50-53-591161806.08.196618.08.196611-15-16-29-32-35-42-43-62-63107907.08.196609.08.19667-8-21-27-30-49-50-53-54-6810102110.08.196621.08.19665-7-23-27-34-45-46-47-52-6410122112.08.196621.08.196623-27-40-44-45-46-47-52-64-6610131713.08.196617.08.19661-5-11-16-20-22-25-26-47-56-7011192019.08.196620.08.19668-15-17-26-35-37-42-44-50-6910212221.08.196622.08.19665-7-8-15-22-23-27-34-37-39-4011будем мерятся простынями!
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037992
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov,

не соответствует требованиям заказчика. Заказчик просил совпадения из 10 чисел, а тут 11 и 12

Заказчик просил количество таких совпадений - такого столбца вообще нет

------------- Результат не рассматриваю.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40037997
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заказчик просил вывести оба совпадения в таблицу, а не одно.
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038014
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
Заказчик просил вывести оба совпадения в таблицу, а не одно.
какие оба... на "простынях" непонятно, тем более их уже 10 страниц, все запутались уже
Код: sql
1.
2.
3.
Select 1,2
UNION ALL
SELECT 2,1

так сделай, если оба
вот тебе "только 10" совпадений))) и "оба"
idid1dtdt1allesXXX3503.08.196605.08.19662-12-21-28-36-50-53-55-59-661031403.08.196614.08.19663-5-24-26-28-50-53-55-59-66105305.08.196603.08.19662-12-21-28-36-50-53-55-59-661061806.08.196618.08.196611-15-16-29-32-35-42-43-62-63107907.08.196609.08.19667-8-21-27-30-49-50-53-54-68109709.08.196607.08.19667-8-21-27-30-49-50-53-54-6810102110.08.196621.08.19665-7-23-27-34-45-46-47-52-6410122112.08.196621.08.196623-27-40-44-45-46-47-52-64-661014314.08.196603.08.19663-5-24-26-28-50-53-55-59-661018618.08.196606.08.196611-15-16-29-32-35-42-43-62-6310192019.08.196620.08.19668-15-17-26-35-37-42-44-50-6910201920.08.196619.08.19668-15-17-26-35-37-42-44-50-6910211021.08.196610.08.19665-7-23-27-34-45-46-47-52-6410211221.08.196612.08.196623-27-40-44-45-46-47-52-64-6610
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038015
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov,

Заказчик просил количество таких совпадений - такого столбца вообще нет
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038024
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg,

так сделай GROUP BY alles и GROUP_CONCAT как тебе надо
мы в форуме MySQL, а не Просто Треп

кто из нас деньги получит?
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038029
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov,
у вас неверное решение, но вы этого не видете потому что не доделали задание.

Доказательство?



5_7_15_22_23_27_34_37_39_40 - у вас такого вообще нет. А оно повторяется в 3 строках - тоесть это важный искомый результат.

Код: sql
1.
2.
3.
4.
5.
6.
+-----+-----------------------------+------------+------------+------+------+---------+-----+
| id  | d1                          | myData1    | myData2    | str1 | str2 | sovpalo | cnt |
+-----+-----------------------------+------------+------------+------+------+---------+-----+
|  15 | 5_7_15_22_23_27_34_37_39_40 | 1.08.1966  | 22.08.1966 |    0 |   21 |      11 |   4 |
|  48 | 5_7_15_22_23_27_34_37_39_40 | 21.08.1966 | 22.08.1966 |   20 |   21 |      11 |   4 |
| 101 | 5_7_15_22_23_27_34_37_39_40 | 1.08.1966  | 21.08.1966 |    0 |   20 |      12 |   4 |
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038030
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, совпадений будет по 2 минимум, так как
Код: sql
1.
2.
3.
select 1,2,alles
union
select 2,1,alles
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038032
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
Alex_Ustinov,
у вас неверное решение, но вы этого не видете потому что не доделали задание.

Доказательство?



5_7_15_22_23_27_34_37_39_40 - у вас такого вообще нет. А оно повторяется в 3 строках - тоесть это важный искомый результат.

Код: sql
1.
2.
3.
4.
5.
6.
+-----+-----------------------------+------------+------------+------+------+---------+-----+
| id  | d1                          | myData1    | myData2    | str1 | str2 | sovpalo | cnt |
+-----+-----------------------------+------------+------------+------+------+---------+-----+
|  15 | 5_7_15_22_23_27_34_37_39_40 | 1.08.1966  | 22.08.1966 |    0 |   21 |      11 |   4 |
|  48 | 5_7_15_22_23_27_34_37_39_40 | 21.08.1966 | 22.08.1966 |   20 |   21 |      11 |   4 |
| 101 | 5_7_15_22_23_27_34_37_39_40 | 1.08.1966  | 21.08.1966 |    0 |   20 |      12 |   4 |

miltorgне соответствует требованиям заказчика. Заказчик просил совпадения из 10 чисел, а тут 11 и 12ты уже в лавку за пивом сбегал?)
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038034
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinov,

Столбец d1 - 10 чисел. Что не так?
...
Рейтинг: 0 / 0
Как отсортировать 1 миллиард записей?
    #40038050
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg,

почему тогда ты показываешь в 2 строки, если sovpalo 11?
надо же в твоей идеологии показывать 11 строк? (из 11 получаем 10 - вычеркиваем по 1 числу 11 раз)
...
Рейтинг: 0 / 0
25 сообщений из 336, страница 12 из 14
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как отсортировать 1 миллиард записей?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]