Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SQL 2014 - Определить есть ли разница в содержимом таблиц
|
|||
|---|---|---|---|
|
#18+
Есть сервер, на к-ром в Table1 хранится около миллиарда записей. В таблице этой ключей нет, индексов тоже. Зато есть порядка 100 колонок. Есть таблица Table2, такая же по структуре (ни ключей, ни индексов, те же 100 колонок), куда пока накидали около 10 миллионов записей. Еще известно, что все 10 миллионов записей в Table2 получены из файла, который перед этим импортировался в Table1. Нужно средствами SQL (можно с подключением фич MSSQL до 2014 включительно) сравнить эти 10 миллионов с предполагаемыми эталонными 10 миллионами, лежащими уже в Table1 и сказать, идентичны они или нет. Показывать тех, кто неидентичен, не надо пока. Как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2018, 21:50 |
|
||
|
SQL 2014 - Определить есть ли разница в содержимом таблиц
|
|||
|---|---|---|---|
|
#18+
Невозможно без наличия столбцов, идентифицирующих строку. Можно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Если результат 10 миллионов, то, предположительно, идентичны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2018, 22:15 |
|
||
|
SQL 2014 - Определить есть ли разница в содержимом таблиц
|
|||
|---|---|---|---|
|
#18+
invmНевозможно без наличия столбцов, идентифицирующих строку. Почему? Все 100 столбцов и есть "идентифицирующие строку". Т.е. 2 строки идентичны только тогда, когда ВСЕ 100 колонок попарно одинаковы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2018, 22:35 |
|
||
|
SQL 2014 - Определить есть ли разница в содержимом таблиц
|
|||
|---|---|---|---|
|
#18+
Blackmore, А у вас все записи в таблицах уникальные? Если да, то можно посмотреть в сторону BINARY_CHECKSUM. Не знаю будет ли это быстрее, чем простое сравнение по колонкам, но если у вас там тексты, например, то будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2018, 00:42 |
|
||
|
SQL 2014 - Определить есть ли разница в содержимом таблиц
|
|||
|---|---|---|---|
|
#18+
Blackmore, "сложить" две "разности" таблиц: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2018, 04:38 |
|
||
|
SQL 2014 - Определить есть ли разница в содержимом таблиц
|
|||
|---|---|---|---|
|
#18+
Blackmore, хотя, в вашем случае достаточно разности между сравниваемой таблицей и эталоном: Код: sql 1. 2. 3. Пустое множество на выходе как раз и будет означать тот факт, что все строки в T2 имеют свой полный аналог в таблице T1. Другое дело, что с дублями будет сложнее разобраться... Ибо все операции над множествами (кроме union ALL) - "игнорируют" дубли, накладывая, по сути, DISTINCT на результата своей работы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2018, 04:44 |
|
||
|
SQL 2014 - Определить есть ли разница в содержимом таблиц
|
|||
|---|---|---|---|
|
#18+
BlackmoreНужно средствами SQL сравнить эти 10 миллионов с предполагаемыми эталонными 10 миллионами, лежащими уже в Table1 и сказать, идентичны они или нет. Показывать тех, кто неидентичен, не надо пока. Как это сделать? Какие такие "предполагаемыми эталонными 10 миллионами". Если нет исходного "который перед этим импортировался " То сравнивать надо наличие 10млн из Table2, в Table1 "Сравнить", это одно, а результат какой надо получить если не нужно показывать неидентичные? Удалить из Table2 отсутствующие в Table1 или сформировать Table3 с идентичными? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2018, 04:51 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=131&tid=1688980]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 409ms |

| 0 / 0 |
