powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Пройтись по огромной таблице самой по себе сравнивая данные
13 сообщений из 13, страница 1 из 1
Пройтись по огромной таблице самой по себе сравнивая данные
    #40042938
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица около миллиона записей вида:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
mysql> select * from n10tn1 where sovpalo>13;
+-------+------------------------------------------------+-----------+---------+
| id    | d1                                             | str       | sovpalo |
+-------+------------------------------------------------+-----------+---------+
|  4117 | 1_4_10_12_16_26_30_32_38_42_44_48_69_72        | 160-2504  |      14 |
| 13245 | 11_13_24_31_34_39_50_54_56_58_62_69_71_75      | 531-2093  |      14 |
| 18565 | 3_4_7_13_17_18_19_25_32_36_41_42_64_76         | 760-2616  |      14 |
| 23358 | 10_17_28_33_34_35_40_42_51_69_73_75_77_79      | 982-2950  |      14 |
| 57776 | 3_20_21_22_26_28_30_36_38_49_53_61_62_79       | 3192-4827 |      14 |
| 57822 | 2_3_4_5_22_26_28_34_46_50_53_55_67_79          | 3199-3587 |      14 |
| 59122 | 3_5_7_9_11_17_20_22_23_24_38_39_44_46_50_52_63 | 3332-3338 |      17 |
+-------+------------------------------------------------+-----------+---------+
7 rows in set (0.13 sec)



Это самые длинные записи. Есть записи и по 10 и пр. минимум - 6

Требуется сравнить каждую запись с каждой и составить аналогичную таблицу но уже с новыми совпадениями.
Работаю на ноутбуке.
Спасибо.
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40042939
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например первая строка этой таблицы означает что в строках 160-2504 предыдущей таблицы есть совпадения цифр:

1_4_10_12_16_26_30_32_38_42_44_48_69_72

И этих совпадений - 14 - 14 чисел совпало
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043131
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если надо сравнить всех со всеми, то загонять таблицу в массив, сравнивать и результат писать в БД.

Только боюсь это надолго растянется, т.к. всего сравнений N*N/2, т.е. полтриллиона в данном случае.

Зачем это надо я не понял, возможно можно уйти от сравнения всех со всеми к более эффективному решению.
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043134
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
Требуется сравнить каждую запись с каждой и составить аналогичную таблицу но уже с новыми совпадениями.


Сравните каждую запись с каждой и составьте аналогичную таблицу, но уже с новыми совпадениями.


miltorg
Спасибо.


Не благодарите.
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043139
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg,

22277075
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043201
Фотография miltorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg,

Решение есть на mySQL
Я его почти доделал.
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043207
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
Я его почти доделал.

Ты его уже месяц почти доделал.
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043211
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,
в какоето дерево надо эту таблицу превращать?
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043225
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz,

Ой, не спрашивай. Он уже месяц всем мозги мурыжит, а полного ТЗ сделать не может. Задача решена по моей ссылке выше на жс прямо в браузере, считается за 20 сек, надо только оттестить, но Андрейка нос воротит.

Суть простая - лаба по комбинаторике. У него есть массив наборов из 20 уникальных чисел от 1 до 100 и одного признака (даты). Для каждой пары из набора надо найти все те, где совпадает больше n чисел, потом полученного пересечения сделать комбинаторные выборки по m уникальных чисел, сохранив признаки наборов. В результате должно получиться: выборка из m чисел, список признаков наборов, их которых она сделана, число пар таких наборов (но это - не точно).

Андрейка делает это уже месяц, насилуя базу mysql, делая туда инсерты из пёрла и сравнивая строки. Другие пути решения он не приемлет по религиозным причинам. Массив у него ~5к наборов по 20 чисел. Я реализовал через битсет, маски и перестановки итератором без рекурсии. На ноде с генерацией исходного массива это отработало за 15-20 сек и заняло 70мб памяти. Возможно что-то надо дотестить, но думаю это будет как-то критично влиять на результат. Конечно, любая другая императивная реализация будет работать ничуть не хуже, писал ради proof of concept на обеде.

Короче задача уже 2 недели как решена, но он все не уймется, я уже на jsfiddle залил, чтобы можно было кнопку нажать и результат получить, но упёрся, окуклился и не в какую.

Уже устал над ним глумиться, если честно.
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043226
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miltorg
Решение есть

Наглое враньё. Решение, которое греет воздух вместо того, чтобы работать - это не решение. Это как если бы для того, чтобы зажечь лампочку надо было бы проводить 380 вольт в дом и сооружать огромный радиатор во всю крышу, чтобы на выходе получить энергосистему мощностью 10kW, которая выдаёт света в эквивалент 25W лампы накаливания на 2 часа, после чего надо демонтировать и менять радиатор. Если бы тебе в дом провели такое, ты бы не сказал, что задача по освещению решена, особенно при наличии доступных сведодиодных лампочек.
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043227
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
tchingiz,

.

Уже устал над ним глумиться, если честно.

ну, и прекращай с глумлением.
и в след.раз и не начинай.
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043229
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я убежден что есть миллион студентов олимиадников которые такие задачки щелкают как орехи.
Назначте им цену. И дайте input/output. И сроки будут измерятся считанными часами.

Глумится ни над кем не надо. Это не в духе sql.ru.
...
Рейтинг: 0 / 0
Пройтись по огромной таблице самой по себе сравнивая данные
    #40043231
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я убежден что есть миллион студентов олимиадников которые такие задачки щелкают как орехи.
Назначте им цену. .

ок. в работу с такой темой
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Пройтись по огромной таблице самой по себе сравнивая данные
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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