Изменения документа Поиск в таблице по списку ключей
Редактировал(а) Alexandr Fokin 2023/12/16 14:13
От версии 1.1
отредактировано Alexandr Fokin
на 2020/03/23 11:22
на 2020/03/23 11:22
Изменить комментарий:
К данной версии нет комментариев
К версии 6.1
отредактировано Alexandr Fokin
на 2020/03/25 11:55
на 2020/03/25 11:55
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (3 изменено, 0 добавлено, 0 удалено)
-
Объекты (0 изменено, 1 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Название
-
... ... @@ -1,1 +1,1 @@ 1 -Поиск в таблице по списку 1 +Поиск в таблице по списку ключей - Теги
-
... ... @@ -1,0 +1,1 @@ 1 +sql|Тестирование - Содержимое
-
... ... @@ -1,0 +1,42 @@ 1 + 2 +**Задача:** 3 +Имеется таблица с записями Таблица1 (При этом размеры таблицы не малы) 4 +Имеется список ключей List1 (Кол-во элементов в списке превышает 500) 5 + 6 +Необходимо отобрать из Таблица1 значения, у которых поле key попадает в список List1. 7 + 8 +**Варианты реализации:** 9 +1) Использование оператора IN, в параметрах у которого перечислены все значения из List1. 10 +2) Созданием временной таблицы в рамках запроса, наполнение таблицы значениями из List1, выполнить join между временной таблицой и Таблица1 11 +(!При этом одна операция INSERT может вставить не более 1000 строк и если элементов больше, то потребуется несколько операций) 12 + 13 +{{html}} 14 +<table style="height: 179px; width: 620px;"> 15 +<tbody> 16 +<tr> 17 +<td>Кол-во записей с в Таблица1</td> 18 +<td>Кол-во элементов в List1</td> 19 +<td>№</td> 20 +<td>Время выполнения (мс)</td> 21 +</tr> 22 +<tr> 23 +<td>20000</td> 24 +<td>1000</td> 25 +<td>1</td> 26 +<td>3887</td> 27 +</tr> 28 +<tr> 29 +<td> </td> 30 +<td> </td> 31 +<td>2</td> 32 +<td>63</td> 33 +</tr> 34 +</tbody> 35 +</table> 36 +{{/html}} 37 + 38 +Ссылки: 39 +https://metanit.com/sql/sqlserver/10.4.php 40 +https://metanit.com/sql/sqlserver/10.3.php 41 +https://info-comp.ru/programmirovanie/567-table-variables-in-ms-sql-server.html 42 +https://www.cyberforum.ru/ado-net/thread1948686.html
- XWiki.XWikiComments[0]
-
- Автор
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.cccc1808 - Комментарий
-
... ... @@ -1,0 +1,22 @@ 1 +1) 2 +select * 3 +from dbo.MainEntities 4 +where I in (1000,1001,1002 ...) 5 + 6 +2) 7 +DROP TABLE IF EXISTS #TmpData 8 + 9 +CREATE TABLE #TmpData 10 +(ID INT) 11 + 12 + 13 +INSERT INTO #TmpData 14 +VALUES (1000), (1001), (1002), ... 15 + 16 +... 17 + 18 +SELECT * 19 +FROM #TmpData td 20 +JOIN dbo.MainEntities me on td.ID = me.I 21 + 22 +DROP TABLE IF EXISTS #TmpData - Дата
-
... ... @@ -1,0 +1,1 @@ 1 +2020-03-25 11:50:46.920