Редактировал(а) Alexandr Fokin 2023/12/16 14:13

От версии 2.1
отредактировано Alexandr Fokin
на 2020/03/25 11:46
Изменить комментарий: К данной версии нет комментариев
К версии 4.1
отредактировано Alexandr Fokin
на 2020/03/25 11:51
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,7 +1,7 @@
1 1  
2 2  **Задача:**
3 -Имеется таблица с записями Таблица1
4 -Имеется список ключей List1
3 +Имеется таблица с записями Таблица1 (При этом размеры таблицы не малы)
4 +Имеется список ключей List1 (Кол-во элементов в списке превышает 500)
5 5  
6 6  Необходимо отобрать из Таблица1 значения, у которых поле key попадает в список List1.
7 7  
... ... @@ -8,5 +8,29 @@
8 8  **Варианты реализации:**
9 9  1) Использование оператора IN, в параметрах у которого перечислены все значения из List1.
10 10  2) Созданием временной таблицы в рамках запроса, наполнение таблицы значениями из List1, выполнить join между временной таблицой и Таблица1
11 +(!При этом одна операция INSERT может вставить не более 1000 строк и если элементов больше, то потребуется несколько операций)
11 11  
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>&nbsp;</td>
30 +<td>&nbsp;</td>
31 +<td>2</td>
32 +<td>63</td>
33 +</tr>
34 +</tbody>
35 +</table>
36 +{{/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