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

От версии 11.1
отредактировано Alexandr Fokin
на 2020/03/28 16:28
Изменить комментарий: К данной версии нет комментариев
К версии 17.1
отредактировано Alexandr Fokin
на 2020/03/28 22:36
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -20,7 +20,9 @@
20 20   <td>Кол-во элементов в List1</td>
21 21   <td>Кол-во запусков</td>
22 22   <td>№</td>
23 - <td>Время выполнения (мс)</td>
23 + <td>Среднее время выполнения (мс)</td>
24 +
25 +
24 24   </tr>
25 25   <tr>
26 26   <td>20000</td>
... ... @@ -44,19 +44,13 @@
44 44   <td>34</td>
45 45   </tr>
46 46  
49 +
47 47   <tr>
48 - <td>Кол-во записей с в Таблица1</td>
49 - <td>Кол-во элементов в List1</td>
50 - <td>Кол-во запусков</td>
51 - <td>№</td>
52 - <td>Время выполнения (мс)</td>
53 - </tr>
54 - <tr>
55 - <td>20000</td>
51 + <td>&nbsp;</td>
56 56   <td>2000</td>
57 - <td>60</td>
53 + <td>50</td>
58 58   <td>1</td>
59 - <td>90</td>
55 + <td>202</td>
60 60   </tr>
61 61   <tr>
62 62   <td>&nbsp;</td>
... ... @@ -72,10 +72,61 @@
72 72   <td>3</td>
73 73   <td>60</td>
74 74   </tr>
71 +
72 +
73 + <tr>
74 + <td>&nbsp;</td>
75 + <td>4000</td>
76 + <td>50</td>
77 + <td>1</td>
78 + <td>423</td>
79 + </tr>
80 + <tr>
81 + <td>&nbsp;</td>
82 + <td>&nbsp;</td>
83 + <td>&nbsp;</td>
84 + <td>2</td>
85 + <td>247</td>
86 + </tr>
87 + <tr>
88 + <td>&nbsp;</td>
89 + <td>&nbsp;</td>
90 + <td>&nbsp;</td>
91 + <td>3</td>
92 + <td>82</td>
93 + </tr>
94 +
95 +
96 + <tr>
97 + <td>1000000</td>
98 + <td>1000</td>
99 + <td>20</td>
100 + <td>1</td>
101 + <td>12</td>
102 + </tr>
103 + <tr>
104 + <td>&nbsp;</td>
105 + <td>&nbsp;</td>
106 + <td>&nbsp;</td>
107 + <td>2</td>
108 + <td>15</td>
109 + </tr>
110 + <tr>
111 + <td>&nbsp;</td>
112 + <td>&nbsp;</td>
113 + <td>&nbsp;</td>
114 + <td>3</td>
115 + <td>19</td>
116 + </tr>
117 +
75 75  </tbody>
76 76  </table>
77 77  {{/html}}
78 78  
122 +Выводы
123 +При малом размере списка List1 < 100, имеет IN выдает более быстреый результат.
124 +При большем размере join показывает себя лучше
125 +
79 79  Ссылки:
80 80  https://metanit.com/sql/sqlserver/10.4.php
81 81  https://metanit.com/sql/sqlserver/10.3.php
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}}
XWiki.XWikiComments[1]
Автор
... ... @@ -1,1 +1,0 @@
1 -XWiki.cccc1808
Комментарий
... ... @@ -1,2 +1,0 @@
1 -Рассмотреть вариант: передать xml объект и выполнить join
2 -https://stackoverflow.com/questions/19905092/how-to-join-xml-nodes-to-table-column
Дата
... ... @@ -1,1 +1,0 @@
1 -2020-03-25 19:03:15.803