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

Откуда: Белгород
Сообщений: 458
Имеем примерно следующий запрос

 select [rf_GuidField] --, ... перечисление других полей... неважно, например первое одно поле
        FROM [table1]
        where [rf_GuidField] in        
            (select GuidField from table2 where GuidField in 
                    (select rf_GuidField from v_table3 ))

Примечание: v_table3 - это View
НО
если по отдельности выполнять запрос, вначале
1)
(select GuidField from table2 where GuidField in 
            (select rf_GuidField from v_table3 ))

Данные выбираются!!!

2)
select [rf_GuidField] FROM [table1] 
Данные выбираются!!!

А если вместе, то ВИСИМ!!!!!! пока не прерву выполнение запроса!!!

На других базах с этой же структурой выполняется все успешно, а на этой никак!!!

Что делал:
1)
DBCC CHECKDB('database_name')
Не найдено ни одной ошибки!!!
2) Перебрал вся затрагивающие таблицу и пересоздал для них индексы:
ALTER INDEX index_name ON dbo.table2 REBUILD;
и по другим таблицам, все индексы...
Не помогает...

В какую сторону копать???
30 сен 11, 09:37    [11359623]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Glory
Member

Откуда:
Сообщений: 104751
Алексей Кр
А если вместе, то ВИСИМ!!!!!! пока не прерву выполнение запроса!!!

Надо не прерывать, а помониторить состояние коннекта и счетчики производительности

Алексей Кр
если по отдельности выполнять запрос, вначале

Отдельные запросы и их "сумма" - это разные запросы

Алексей Кр
Что делал:
1)
DBCC CHECKDB('database_name')
Не найдено ни одной ошибки!!!

плохой план выполнения - это не есть физическая ошибка данных

Алексей Кр
2) Перебрал вся затрагивающие таблицу и пересоздал для них индексы:
ALTER INDEX index_name ON dbo.table2 REBUILD;
и по другим таблицам, все индексы...

как вы решили, что нужен именно такой индекс ?
30 сен 11, 09:42    [11359643]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
в списке таблиц какие отображены индексы у соответствующих таблиц, вот их и пересоздал...
какие пути решения, что еще попробовать ???
30 сен 11, 09:46    [11359671]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Glory
Member

Откуда:
Сообщений: 104751
Алексей Кр
в списке таблиц какие отображены индексы у соответствующих таблиц, вот их и пересоздал...

И что ? Как вы узнали, какие индексы подходят вашему запросу ?

Алексей Кр
какие пути решения, что еще попробовать ???

Анализировать план выполнения запроса
30 сен 11, 09:48    [11359680]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Glory
Алексей Кр
в списке таблиц какие отображены индексы у соответствующих таблиц, вот их и пересоздал...

И что ? Как вы узнали, какие индексы подходят вашему запросу ?

Пересоздал все индексы у затрагивающих таблиц, абсолютно все, или какие-то еще могут быть???
30 сен 11, 09:49    [11359685]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Glory
Member

Откуда:
Сообщений: 104751
Алексей Кр
Пересоздал все индексы у затрагивающих таблиц, абсолютно все, или какие-то еще могут быть???

Млин. Вы вопрос понимаете ? Или думаете, что любой индекс автоматически ускоряет все заросы к таблице ?
30 сен 11, 09:50    [11359692]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Не могу понять Вас.
Пересоздал все, т.к. также было предположение, что индексы "попорчены". Пересоздал, значит предполагаю, дело не в индексах.
30 сен 11, 09:52    [11359704]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Glory
Member

Откуда:
Сообщений: 104751
Алексей Кр
Пересоздал все, т.к. также было предположение, что индексы "попорчены"

Наличие индекса не означает его автоматическое использование в каждом запросе

Алексей Кр
Пересоздал, значит предполагаю, дело не в индексах.

Вы план своего запроса видели ?
30 сен 11, 09:55    [11359720]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
как посмотреть план запроса ?
30 сен 11, 10:07    [11359795]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 424
Алексей Кр,

А на других машинах такие же вью? все точно также настроено? Теже индексы ?
30 сен 11, 10:29    [11359936]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
На других базах все также, те же вьюшки, таблицы, запросы выборок, а тут какой-то парадокс, или поле какое-то "битое" не могу представить что может быть...
30 сен 11, 10:34    [11359985]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Еще парадокс

Переделал под inner join

select [rf_GuidField]  
FROM [table1] as a inner join 
   (select GuidField from hlt_HCServiceMed where GuidField in 
		(select rf_GuidField from  v_table3 )) as b on a.[rf_GuidField] = b.GuidField
Выполняется!!!

НО если добавить distinct
select [rf_GuidField]  
FROM [table1] as a inner join 
   (select distinct GuidField from hlt_HCServiceMed where GuidField in 
		(select rf_GuidField from  v_table3 )) as b on a.[rf_GuidField] = b.GuidField
ВИСИМ!!!
30 сен 11, 10:55    [11360178]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Glory
Member

Откуда:
Сообщений: 104751
Алексей Кр
Переделал под inner join

И что пародоксального в том, что разные запросы сервер выполняет по-разному ?
30 сен 11, 10:57    [11360200]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Подскажите, в какую сторону то идти ???
30 сен 11, 10:59    [11360222]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Glory
Member

Откуда:
Сообщений: 104751
Алексей Кр
Подскажите, в какую сторону то идти ???

в FAQ - получать план выполнения
30 сен 11, 11:01    [11360238]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Получил, там стооооолько всего.........
30 сен 11, 11:12    [11360358]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
в плане видно, что много где используются индексы...
а если удалить индексы из соответствующих таблиц? то есть осуществить выполнение запроса по таблица в которых нет индексов...
30 сен 11, 11:33    [11360622]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
и можно ли отдебажить в скуле ? как бы идти по шагам вот по этому плану действии ?
30 сен 11, 11:35    [11360642]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Glory
Member

Откуда:
Сообщений: 104751
Алексей Кр
в плане видно, что много где используются индексы...

Вы сравнили планы с разных машин ?
30 сен 11, 11:35    [11360651]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Glory
Member

Откуда:
Сообщений: 104751
Алексей Кр
и можно ли отдебажить в скуле ? как бы идти по шагам вот по этому плану действии ?

План - это уже и так порядок выполнения сервером действий
30 сен 11, 11:36    [11360661]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
а самому пройтись по шагам можно? отдебажить...

точнее не с разных машин а на разных базах....
30 сен 11, 11:38    [11360681]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Glory
Member

Откуда:
Сообщений: 104751
Алексей Кр
а самому пройтись по шагам можно? отдебажить...

Вы про что ?
30 сен 11, 11:40    [11360704]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
пошаговое выполнение, дебаг...
30 сен 11, 11:43    [11360750]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
Glory
Member

Откуда:
Сообщений: 104751
Алексей Кр
пошаговое выполнение, дебаг...

Запрос выполняется целиком. Потому что запрос есть одна команда
30 сен 11, 11:44    [11360763]     Ответить | Цитировать Сообщить модератору
 Re: Непонятные зависания при выполнении скрипта....  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 424
sql 2008

select [rf_GuidField] 
FROM [table1]

intersect 
        
select GuidField 
from table2 

intersect 

select rf_GuidField 
from v_table3 
30 сен 11, 11:48    [11360819]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить