Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 like в in  [new]
Chertoz
Member

Откуда:
Сообщений: 18
Подскажите плиз
возможно ли реализовать что то подобное..

where POLE1 in (like %X%, like %Y%)

можно конечно заменить все where POLE1 like %X% or POLE1 like %Y%,

но в моей задаче гораздо удобнее было бы использовать оператор in

БД mssql
21 мар 12, 05:15    [12285290]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
кашмар
Guest
нет
21 мар 12, 06:13    [12285305]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
только OR

Ну, а какая разница-то?
MSSQL по любому сам по себе пропарсит запрос, и создаст для него план выполнения.
21 мар 12, 06:27    [12285312]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
step_ks
Member

Откуда:
Сообщений: 936
если прям обязательно in, то
select * from sysobjects so where so.name in (select so.name where so.name like 'syso%' union all select so.name where so.name like 'sysc%')
21 мар 12, 06:40    [12285319]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
step_ks
если прям обязательно in, то
select * from sysobjects so where so.name in (select so.name where so.name like 'syso%' union all select so.name where so.name like 'sysc%')
вот уж, IN по двойному like - не самый лёгкий запрос.
..В любом случае, лайк - вызывает скан, вместо сика по индексу.
двойной лайк - равно двойному скану.
21 мар 12, 06:46    [12285324]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
если like через OR, а не через UNION, то скан будет - тоько один.
21 мар 12, 06:55    [12285329]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
...впрочем, можно посоревноваться, кто напишет НАИБОЛЕЕ ТЯЖЕЛЫЙ запрос в наименее меньше букв...
21 мар 12, 06:59    [12285331]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
...зависит от количества записей в таблице.
Начиная от 10 тысяч - уже выгодно писать скалярные функции, чтобы они тормозили запрос.
И чем тупее функция, тем больше шансов на победу в торможении работы.
21 мар 12, 07:02    [12285338]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
step_ks
Member

Откуда:
Сообщений: 936
Makar4ik
вот уж, IN по двойному like - не самый лёгкий запрос.
..В любом случае, лайк - вызывает скан, вместо сика по индексу.
двойной лайк - равно двойному скану.


чойта сразу двойному


select @@version
set statistics profile on
select * from sysobjects so where so.name in (select so.name where so.name like '%syso%' union all select so.name where so.name like '%sysc%' )



----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2000 - 8.00.2055 (Intel X86)
Dec 16 2008 19:46:53
Copyright (c) 1988-2003 Microsoft Corporation
Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

Rows Executes StmtText StmtId NodeId Parent PhysicalOp LogicalOp Argument DefinedValues EstimateRows EstimateIO EstimateCPU AvgRowSize TotalSubtreeCost OutputList Warnings Type Parallel EstimateExecutions
----------- ----------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------- ----------- ----------- ------------------------------ ------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------- ------------- ------------- ----------- ---------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- ------------------------------ -------- ------------------
16 1 select * from sysobjects so where so.name in (select so.name where so.name like '%syso%' union all select so.name where so.name like '%sysc%' ) 20 1 0 NULL NULL NULL NULL 1219,5 NULL NULL NULL 0,06766472 NULL NULL SELECT 0 NULL
16 1 |--Nested Loops(Left Semi Join, OUTER REFERENCES:([so].[name])) 20 3 1 Nested Loops Left Semi Join OUTER REFERENCES:([so].[name]) NULL 1219,5 0 0,0056639 155 0,06754277 [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[schema_ver], [so].[stats_schema_ver], [so].[type], [so].[userstat], [so].[sysstat NULL PLAN_ROW 0 1
1385 1 |--Compute Scalar(DEFINE:([so].[schema_ver]=[so].[base_schema_ver]&~15, [so].[stats_schema_ver]=[so].[base_schema_ver]&15, [so].[type]=Convert(If ([so].[xtype]='UQ' OR [so].[xtype]='PK') then Convert('K') else Convert([so].[xtype])), [so].[userstat] 20 4 3 Compute Scalar Compute Scalar DEFINE:([so].[schema_ver]=[so].[base_schema_ver]&~15, [so].[stats_schema_ver]=[so].[base_schema_ver]&15, [so].[type]=Convert(If ([so].[xtype]='UQ' OR [so].[xtype]='PK') then Convert('K') else Convert([so].[xtype])), [so].[userstat]=Convert(If ([so].[xtype] [so].[schema_ver]=[so].[base_schema_ver]&~15, [so].[stats_schema_ver]=[so].[base_schema_ver]&15, [so].[type]=Convert(If ([so].[xtype]='UQ' OR [so].[xtype]='PK') then Convert('K') else Convert([so].[xtype])), [so].[userstat]=Convert(If ([so].[xtype]='S' OR 1355 0,0538748 0,001569 155 0,0554438 [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[schema_ver], [so].[stats_schema_ver], [so].[type], [so].[userstat], [so].[sysstat NULL PLAN_ROW 0 1
1385 1 | |--Clustered Index Scan(OBJECT:([master].[dbo].[sysobjects].[sysobjects] AS [so])) 20 5 4 Clustered Index Scan Clustered Index Scan OBJECT:([master].[dbo].[sysobjects].[sysobjects] AS [so]) [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[base_schema_ver], [so].[xtype], [so].[name], [so].[status], [so].[crdate], [so].[ 1355 0,0538748 0,001569 155 0,0554438 [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[base_schema_ver], [so].[xtype], [so].[name], [so].[status], [so].[crdate], [so].[ NULL PLAN_ROW 0 1
16 1385 |--Row Count Spool 20 462 3 Row Count Spool Lazy Spool NULL NULL 1 0 2E-07 4 0,006435072 NULL NULL PLAN_ROW 0 1355
16 1385 |--Concatenation 20 463 462 Concatenation Concatenation NULL NULL 1 0 2E-07 4 0,006299888 NULL NULL PLAN_ROW 0 1351,84
4 1385 |--Filter(WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%syso%', NULL)))) 20 464 463 Filter Filter WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%syso%', NULL))) NULL 1 0 1,28E-06 4 0,003082352 NULL NULL PLAN_ROW 0 1351,84
4 1385 | |--Constant Scan 20 465 464 Constant Scan Constant Scan NULL NULL 1 0 1,157E-06 4 0,001351997 NULL NULL PLAN_ROW 0 1351,84
12 1385 |--Filter(WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%sysc%', NULL)))) 20 474 463 Filter Filter WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%sysc%', NULL))) NULL 1 0 1,28E-06 4 0,003082352 NULL NULL PLAN_ROW 0 1351,84
12 1383 |--Constant Scan 20 475 474 Constant Scan Constant Scan NULL NULL 1 0 1,157E-06 4 0,001351997 NULL NULL PLAN_ROW 0 1351,84

21 мар 12, 08:19    [12285408]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
step_ks,

Ну, умный MSSQL умнее меня.
Соптимизировал-таки.
21 мар 12, 08:41    [12285438]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
хотя... нет...
2 раза скан-таки.
21 мар 12, 08:43    [12285440]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Chertoz
Подскажите плиз
возможно ли реализовать что то подобное..

where POLE1 in (like %X%, like %Y%)

можно конечно заменить все where POLE1 like %X% or POLE1 like %Y%,

но в моей задаче гораздо удобнее было бы использовать оператор in

БД mssql
declare @Patterns table (p varchar(30));

insert into @Patterns
values
 ('%X%'), ('%Y%')

select
 ...
from
 ... 
where
 exists(select * from @Patterns where ПОЛЕ1 like p);
21 мар 12, 09:09    [12285513]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
step_ks
Member

Откуда:
Сообщений: 936
Makar4ik
хотя... нет...
2 раза скан-таки.

где?
21 мар 12, 09:14    [12285535]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
invm
Chertoz
Подскажите плиз
возможно ли реализовать что то подобное..

where POLE1 in (like %X%, like %Y%)

можно конечно заменить все where POLE1 like %X% or POLE1 like %Y%,

но в моей задаче гораздо удобнее было бы использовать оператор in

БД mssql
declare @Patterns table (p varchar(30));

insert into @Patterns
values
 ('%X%'), ('%Y%')

select
 ...
from
 ... 
where
 exists(select * from @Patterns where ПОЛЕ1 like p);
Классический случай "разделяй и властвуй".
Очень часто, сложные запросы выгоднее разбить на 2-3-7 штук более простых, с временными таблицами.
...Но...
...В этом, простом случае, думаю, это не принесёт бонусов в скорости выполнения. (((
Наверное, придётсяч оставить запрос AS IS
21 мар 12, 09:16    [12285539]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
step_ks
Makar4ik
хотя... нет...
2 раза скан-таки.

где?
читай свои 4 и 12 процентов
21 мар 12, 09:17    [12285541]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
Makar4ik
step_ks
пропущено...

где?
читай свои 4 и 12 процентов
...то есть строк
21 мар 12, 09:18    [12285546]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
step_ks
Makar4ik
хотя... нет...
2 раза скан-таки.

где?
1385 страниц в таблице было вычитано для отработки запроса. 2 раза.
21 мар 12, 09:20    [12285554]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
invm
Chertoz
Подскажите плиз
возможно ли реализовать что то подобное..

where POLE1 in (like %X%, like %Y%)

можно конечно заменить все where POLE1 like %X% or POLE1 like %Y%,

но в моей задаче гораздо удобнее было бы использовать оператор in

БД mssql
declare @Patterns table (p varchar(30));

insert into @Patterns
values
 ('%X%'), ('%Y%')

select
 ...
from
 ... 
where
 exists(select * from @Patterns where ПОЛЕ1 like p);
Табличная переменная лишняя?
select
 ...
from
 ... 
where
 exists(select * from (values('%X%'),('%Y%'))P(p) where ПОЛЕ1 like p);
21 мар 12, 09:29    [12285592]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
step_ks
Member

Откуда:
Сообщений: 936
Makar4ik
step_ks
пропущено...

где?
1385 страниц в таблице было вычитано для отработки запроса. 2 раза.

Rows        Executes    StmtText                                                                                                                                                                                                                                                         StmtId      NodeId      Parent      PhysicalOp                     LogicalOp                      Argument                                                                                                                                                                                                                                                         DefinedValues                                                                                                                                                                                                                                                    EstimateRows  EstimateIO    EstimateCPU   AvgRowSize  TotalSubtreeCost OutputList                                                                                                                                                                                                                                                       Warnings Type                           Parallel EstimateExecutions
----------- ----------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------- ----------- ----------- ------------------------------ ------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------- ------------- ------------- ----------- ---------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- ------------------------------ -------- ------------------
16          1           select * from sysobjects so where so.name in (select so.name where so.name like '%syso%' union all select so.name where so.name like '%sysc%' )                                                                                                                  16          1           0           NULL                           NULL                           NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                                                                                                             1219,5        NULL          NULL          NULL        0,06766472       NULL                                                                                                                                                                                                                                                             NULL     SELECT                         0        NULL
16          1             |--Nested Loops(Left Semi Join, OUTER REFERENCES:([so].[name]))                                                                                                                                                                                                16          3           1           Nested Loops                   Left Semi Join                 OUTER REFERENCES:([so].[name])                                                                                                                                                                                                                                   NULL                                                                                                                                                                                                                                                             1219,5        0             0,0056639     155         0,06754277       [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[schema_ver], [so].[stats_schema_ver], [so].[type], [so].[userstat], [so].[sysstat NULL     PLAN_ROW                       0        1
1385        1                  |--Compute Scalar(DEFINE:([so].[schema_ver]=[so].[base_schema_ver]&~15, [so].[stats_schema_ver]=[so].[base_schema_ver]&15, [so].[type]=Convert(If ([so].[xtype]='UQ' OR [so].[xtype]='PK') then Convert('K') else Convert([so].[xtype])), [so].[userstat] 16          4           3           Compute Scalar                 Compute Scalar                 DEFINE:([so].[schema_ver]=[so].[base_schema_ver]&~15, [so].[stats_schema_ver]=[so].[base_schema_ver]&15, [so].[type]=Convert(If ([so].[xtype]='UQ' OR [so].[xtype]='PK') then Convert('K') else Convert([so].[xtype])), [so].[userstat]=Convert(If ([so].[xtype] [so].[schema_ver]=[so].[base_schema_ver]&~15, [so].[stats_schema_ver]=[so].[base_schema_ver]&15, [so].[type]=Convert(If ([so].[xtype]='UQ' OR [so].[xtype]='PK') then Convert('K') else Convert([so].[xtype])), [so].[userstat]=Convert(If ([so].[xtype]='S' OR  1355          0,0538748     0,001569      155         0,0554438        [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[schema_ver], [so].[stats_schema_ver], [so].[type], [so].[userstat], [so].[sysstat NULL     PLAN_ROW                       0        1
1385        1                  |    |--Clustered Index Scan(OBJECT:([master].[dbo].[sysobjects].[sysobjects] AS [so]))                                                                                                                                                                   16          5           4           Clustered Index Scan           Clustered Index Scan           OBJECT:([master].[dbo].[sysobjects].[sysobjects] AS [so])                                                                                                                                                                                                        [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[base_schema_ver], [so].[xtype], [so].[name], [so].[status], [so].[crdate], [so].[ 1355          0,0538748     0,001569      155         0,0554438        [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[base_schema_ver], [so].[xtype], [so].[name], [so].[status], [so].[crdate], [so].[ NULL     PLAN_ROW                       0        1
16          1385               |--Row Count Spool                                                                                                                                                                                                                                        16          462         3           Row Count Spool                Lazy Spool                     NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                                                                                                             1             0             2E-07         4           0,006435072      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1355
16          1385                    |--Concatenation                                                                                                                                                                                                                                     16          463         462         Concatenation                  Concatenation                  NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                                                                                                             1             0             2E-07         4           0,006299888      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1351,84
4           1385                         |--Filter(WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%syso%', NULL))))                                                                                                                                                  16          464         463         Filter                         Filter                         WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%syso%', NULL)))                                                                                                                                                                              NULL                                                                                                                                                                                                                                                             1             0             1,28E-06      4           0,003082352      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1351,84
4           1385                         |    |--Constant Scan                                                                                                                                                                                                                           16          465         464         Constant Scan                  Constant Scan                  NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                                                                                                             1             0             1,157E-06     4           0,001351997      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1351,84
12          1385                         |--Filter(WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%sysc%', NULL))))                                                                                                                                                  16          474         463         Filter                         Filter                         WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%sysc%', NULL)))                                                                                                                                                                              NULL                                                                                                                                                                                                                                                             1             0             1,28E-06      4           0,003082352      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1351,84
12          1383                              |--Constant Scan                                                                                                                                                                                                                           16          475         474         Constant Scan                  Constant Scan                  NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                                                                                                             1             0             1,157E-06     4           0,001351997      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1351,84


где это 2? Executes = 1
21 мар 12, 09:36    [12285621]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
iap
Табличная переменная лишняя?
Может и лишняя. А может и нет, если количество паттернов переменное.
21 мар 12, 09:50    [12285670]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
invm
iap
Табличная переменная лишняя?
Может и лишняя. А может и нет, если количество паттернов переменное.
Какая разница - писать что-то для вставки в таблицу или писать это же "что-то" непосредственно в производной таблице?
Это так, к слову. Ни на что не претендую.
21 мар 12, 09:53    [12285692]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
iap
invm
пропущено...
Может и лишняя. А может и нет, если количество паттернов переменное.
Какая разница - писать что-то для вставки в таблицу или писать это же "что-то" непосредственно в производной таблице?
Это так, к слову. Ни на что не претендую.
Имелось в виду, что количество паттернов определяется в рантайме.
21 мар 12, 10:05    [12285770]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
step_ks
Makar4ik
пропущено...
1385 страниц в таблице было вычитано для отработки запроса. 2 раза.

Rows        Executes    StmtText                                                                                                                                                                                                                                                         StmtId      NodeId      Parent      PhysicalOp                     LogicalOp                      Argument                                                                                                                                                                                                                                                         DefinedValues                                                                                                                                                                                                                                                    EstimateRows  EstimateIO    EstimateCPU   AvgRowSize  TotalSubtreeCost OutputList                                                                                                                                                                                                                                                       Warnings Type                           Parallel EstimateExecutions
----------- ----------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------- ----------- ----------- ------------------------------ ------------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------- ------------- ------------- ----------- ---------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------- ------------------------------ -------- ------------------
16          1           select * from sysobjects so where so.name in (select so.name where so.name like '%syso%' union all select so.name where so.name like '%sysc%' )                                                                                                                  16          1           0           NULL                           NULL                           NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                                                                                                             1219,5        NULL          NULL          NULL        0,06766472       NULL                                                                                                                                                                                                                                                             NULL     SELECT                         0        NULL
16          1             |--Nested Loops(Left Semi Join, OUTER REFERENCES:([so].[name]))                                                                                                                                                                                                16          3           1           Nested Loops                   Left Semi Join                 OUTER REFERENCES:([so].[name])                                                                                                                                                                                                                                   NULL                                                                                                                                                                                                                                                             1219,5        0             0,0056639     155         0,06754277       [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[schema_ver], [so].[stats_schema_ver], [so].[type], [so].[userstat], [so].[sysstat NULL     PLAN_ROW                       0        1
1385        1                  |--Compute Scalar(DEFINE:([so].[schema_ver]=[so].[base_schema_ver]&~15, [so].[stats_schema_ver]=[so].[base_schema_ver]&15, [so].[type]=Convert(If ([so].[xtype]='UQ' OR [so].[xtype]='PK') then Convert('K') else Convert([so].[xtype])), [so].[userstat] 16          4           3           Compute Scalar                 Compute Scalar                 DEFINE:([so].[schema_ver]=[so].[base_schema_ver]&~15, [so].[stats_schema_ver]=[so].[base_schema_ver]&15, [so].[type]=Convert(If ([so].[xtype]='UQ' OR [so].[xtype]='PK') then Convert('K') else Convert([so].[xtype])), [so].[userstat]=Convert(If ([so].[xtype] [so].[schema_ver]=[so].[base_schema_ver]&~15, [so].[stats_schema_ver]=[so].[base_schema_ver]&15, [so].[type]=Convert(If ([so].[xtype]='UQ' OR [so].[xtype]='PK') then Convert('K') else Convert([so].[xtype])), [so].[userstat]=Convert(If ([so].[xtype]='S' OR  1355          0,0538748     0,001569      155         0,0554438        [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[schema_ver], [so].[stats_schema_ver], [so].[type], [so].[userstat], [so].[sysstat NULL     PLAN_ROW                       0        1
1385        1                  |    |--Clustered Index Scan(OBJECT:([master].[dbo].[sysobjects].[sysobjects] AS [so]))                                                                                                                                                                   16          5           4           Clustered Index Scan           Clustered Index Scan           OBJECT:([master].[dbo].[sysobjects].[sysobjects] AS [so])                                                                                                                                                                                                        [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[base_schema_ver], [so].[xtype], [so].[name], [so].[status], [so].[crdate], [so].[ 1355          0,0538748     0,001569      155         0,0554438        [so].[name], [so].[id], [so].[xtype], [so].[uid], [so].[info], [so].[status], [so].[base_schema_ver], [so].[replinfo], [so].[parent_obj], [so].[crdate], [so].[ftcatid], [so].[base_schema_ver], [so].[xtype], [so].[name], [so].[status], [so].[crdate], [so].[ NULL     PLAN_ROW                       0        1
16          1385               |--Row Count Spool                                                                                                                                                                                                                                        16          462         3           Row Count Spool                Lazy Spool                     NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                                                                                                             1             0             2E-07         4           0,006435072      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1355
16          1385                    |--Concatenation                                                                                                                                                                                                                                     16          463         462         Concatenation                  Concatenation                  NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                                                                                                             1             0             2E-07         4           0,006299888      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1351,84
4           1385                         |--Filter(WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%syso%', NULL))))                                                                                                                                                  16          464         463         Filter                         Filter                         WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%syso%', NULL)))                                                                                                                                                                              NULL                                                                                                                                                                                                                                                             1             0             1,28E-06      4           0,003082352      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1351,84
4           1385                         |    |--Constant Scan                                                                                                                                                                                                                           16          465         464         Constant Scan                  Constant Scan                  NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                                                                                                             1             0             1,157E-06     4           0,001351997      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1351,84
12          1385                         |--Filter(WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%sysc%', NULL))))                                                                                                                                                  16          474         463         Filter                         Filter                         WHERE:(STARTUP EXPR([so].[name]=[so].[name] AND like([so].[name], '%sysc%', NULL)))                                                                                                                                                                              NULL                                                                                                                                                                                                                                                             1             0             1,28E-06      4           0,003082352      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1351,84
12          1383                              |--Constant Scan                                                                                                                                                                                                                           16          475         474         Constant Scan                  Constant Scan                  NULL                                                                                                                                                                                                                                                             NULL                                                                                                                                                                                                                                                             1             0             1,157E-06     4           0,001351997      NULL                                                                                                                                                                                                                                                             NULL     PLAN_ROW                       0        1351,84


где это 2? Executes = 1
Не парься по поводу вычитки в твоих логах 2 раза по 1385 8КБ страниц с диска.
21 мар 12, 11:02    [12286187]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
step_ks,

окей, повторю ЧЕТВЕРТЫЙ РАЗ для танкистов.
Constant Scan.
Смотри, читай, сколько страниц с диска прочитано.
21 мар 12, 11:06    [12286221]     Ответить | Цитировать Сообщить модератору
 Re: like в in  [new]
Makar4ik
Member

Откуда: Когда-то были Лужки, а теперь Бордюр-Сити.
Сообщений: 2680
step_ks,

блин, я какой-то снобищще.
Прости. Я реально не хочу тебя обидеть.
Надо было сразу объяснить значение столбцов в этой статистике.
21 мар 12, 11:11    [12286250]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить