Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
26.03.2001, 14:40
|
|||
---|---|---|---|
|
|||
Не понимаю, почему Hash Join ??? |
|||
#18+
Есть такой запрос SELECT DISTINCT TG1.FirmID , PL.PREF , PL.PLID , TG1.GroupID , TG1.ListParentID FROM SanitexDB.dbo.PRICELST as PL INNER JOIN tbTmpGroups_1 as TG1 ON TG1.FirmID = PL.FIRMID and TG1.GroupID = PL.GROUPID WHERE PL.ACTIVE = 1 Такие индексы tbTmpGroups_1 -> clustered index : FirmID, GroupID PRICELST -> notclustered index: ACTIVE, FIRMID, GROUPID в QA показывает следующее |--Hash Match(Inner Join, HASH: ([TG1].[FirmID], [TG1].[GroupID])=([PL].[FIRMID], [PL].[GROUPID]), RESIDUAL: ([PL].[FIRMID]=[TG1].[FirmID] AND [PL].[GROUPID]=[TG1].[GroupID])) |--Clustered Index Scan(OBJECT: ([VPOS].[dbo].[tbTmpGroups_1].[PK_tbTmpGroups_1] AS [TG1])) |--Hash Match(Aggregate, HASH: ([PL].[FIRMID], [PL].[PREF], [PL].[PLID], [PL].[GROUPID]), RESIDUAL: ((([PL].[FIRMID]=[PL].[FIRMID] AND [PL].[PREF]=[PL].[PREF]) AND [PL].[PLID]=[PL].[PLID]) AND [PL].[GROUPID]=[PL].[GROUPID])) |--Table Scan(OBJECT: ([SanitexDB].[dbo].[PRICELST] AS [PL]), WHERE: ([PL].[ACTIVE]=1)) Вопрос след. : ПОЧЕМУ ОН ИСПОЛЬЗУЕТ Hash Match Join ??? Вроде индексы по ключу соврадают. В чем может быть трабл ?? Спасибо всем ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.03.2001, 15:16
|
|||
---|---|---|---|
|
|||
Не понимаю, почему Hash Join ??? |
|||
#18+
Все правильно, Для LOOP недостаточно статистики или много записей в таблице, для MERGE нет совпадающих последовательностей индексов. Сделай индекс просто (FirmID,GroupID) на второй таблице или в крайнем случае (FirmID,GroupID,Active). В этом случае точно будет MERGE, в крайнем случае хинтом ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&tablet=1&tid=1827131]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 133ms |
0 / 0 |