Изменения документа Поиск в таблице по списку ключей
Редактировал(а) Alexandr Fokin 2023/12/16 14:13
От версии 6.1
отредактировано Alexandr Fokin
на 2020/03/25 11:55
на 2020/03/25 11:55
Изменить комментарий:
К данной версии нет комментариев
К версии 15.1
отредактировано Alexandr Fokin
на 2020/03/28 17:18
на 2020/03/28 17:18
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
-
Объекты (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -9,28 +9,84 @@ 9 9 1) Использование оператора IN, в параметрах у которого перечислены все значения из List1. 10 10 2) Созданием временной таблицы в рамках запроса, наполнение таблицы значениями из List1, выполнить join между временной таблицой и Таблица1 11 11 (!При этом одна операция INSERT может вставить не более 1000 строк и если элементов больше, то потребуется несколько операций) 12 +Реализация происходит в рамках sql запросов ado.net, без хранимых процедур. Время, затрачиваемое на построение текста запроса, не учитывается. 13 +3) Использование xml переменной, данные из которой используются для операции join с Таблица1. 12 12 13 13 {{html}} 14 14 <table style="height: 179px; width: 620px;"> 15 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> 18 + <tr> 19 + <td>Кол-во записей с в Таблица1</td> 20 + <td>Кол-во элементов в List1</td> 21 + <td>Кол-во запусков</td> 22 + <td>№</td> 23 + <td>Среднее время выполнения (мс)</td> 24 + </tr> 25 + <tr> 26 + <td>20000</td> 27 + <td>1000</td> 28 + <td>50</td> 29 + <td>1</td> 30 + <td>97</td> 31 + </tr> 32 + <tr> 33 + <td> </td> 34 + <td> </td> 35 + <td> </td> 36 + <td>2</td> 37 + <td>70</td> 38 + </tr> 39 + <tr> 40 + <td> </td> 41 + <td> </td> 42 + <td> </td> 43 + <td>3</td> 44 + <td>34</td> 45 + </tr> 46 + 47 + <tr> 48 + <td> </td> 49 + <td>2000</td> 50 + <td>50</td> 51 + <td>1</td> 52 + <td>202</td> 53 + </tr> 54 + <tr> 55 + <td> </td> 56 + <td> </td> 57 + <td> </td> 58 + <td>2</td> 59 + <td>126</td> 60 + </tr> 61 + <tr> 62 + <td> </td> 63 + <td> </td> 64 + <td> </td> 65 + <td>3</td> 66 + <td>60</td> 67 + </tr> 68 + 69 + <tr> 70 + <td> </td> 71 + <td>4000</td> 72 + <td>50</td> 73 + <td>1</td> 74 + <td>423</td> 75 + </tr> 76 + <tr> 77 + <td> </td> 78 + <td> </td> 79 + <td> </td> 80 + <td>2</td> 81 + <td>247</td> 82 + </tr> 83 + <tr> 84 + <td> </td> 85 + <td> </td> 86 + <td> </td> 87 + <td>3</td> 88 + <td>82</td> 89 + </tr> 34 34 </tbody> 35 35 </table> 36 36 {{/html}}
- XWiki.XWikiComments[0]
-
- Комментарий
-
... ... @@ -1,9 +1,12 @@ 1 1 1) 2 +{{code language="sql"}} 2 2 select * 3 3 from dbo.MainEntities 4 4 where I in (1000,1001,1002 ...) 6 +{{/code}} 5 5 6 6 2) 9 +{{code language="sql"}} 7 7 DROP TABLE IF EXISTS #TmpData 8 8 9 9 CREATE TABLE #TmpData ... ... @@ -20,3 +20,19 @@ 20 20 JOIN dbo.MainEntities me on td.ID = me.I 21 21 22 22 DROP TABLE IF EXISTS #TmpData 26 +{{/code}} 27 + 28 +3) 29 +{{code language="sql"}} 30 +Declare @idList xml = ' 31 +<ArrayOfInt> 32 + <int>1000</int> 33 + <int>1001</int> 34 + ... 35 +</ArrayOfInt>' 36 + 37 +Select 38 + me.* 39 +From @idList.nodes('/ArrayOfInt/int') AS idList(id) 40 + JOIN dbo.MainEntities me on idList.id.value('.', 'int') = me.I 41 +{{/code}}