Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему не используется индекс
|
|||
|---|---|---|---|
|
#18+
MS SQL7.0 Есть Таблица 'Таблица', одно из ее полей 'Дата' типа datetime по которому построен индекс 'Таблица_Index_Дата', есть еще комплексный индекс в котором тоже присутствует поле 'Дата'. В таблице 35 млн замисей. Select * from Таблица where Дата between '11/07/2001' and '11/20/2001' Запрос выполняется 1 минуту, в плане его выполнения показанно, что идет прямое сканирование таблицы. Если в запросе указать явно использование индекса: Select * from Таблица with (index(Таблица_Index_Дата)) where Дата between '11/07/2001' and '11/20/2001' то запрос длится 2 сек !!! Почему оптимизатор запросов не использует сам этот индекс ??? Sergey ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2001, 06:25 |
|
||
|
Почему не используется индекс
|
|||
|---|---|---|---|
|
#18+
Может быть несколько причин: 1) Отсутствует или устарела статистика по этому индексу. Надо сделать update statics. 2) Индекс недостаточно селективен. Т.е. записей много, а значений дат немного. В этом случае хинт вполне оправдан и применен как раз где надо. 3) Могут быть еще какие-нибудь чудеса с индексами, которые сбивают оптимизатор с толку, например отсутствие кластерного индекса в наборе индексов или невысокая селективность кластерного индекса или кластерный индекс имеет чудовищный размер. Что-нибудь из этого может подтолкнуть оптимизатор к ошибочному решению, что скан таблицы дешевле. А вообще-то оптимизатор в mssql7.0 на порядок слабее, чем в mssql2000. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2001, 06:52 |
|
||
|
Почему не используется индекс
|
|||
|---|---|---|---|
|
#18+
Если комплесный индекс составлен таким образом, что поле Дата перечислена в индексе вторым или третьим (короче, не первым), то индекс не будет использоваться, если во фразе where не задано условие фильтрации по полю, которое фигурирует первым в индексе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2001, 09:14 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1824772]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 313ms |

| 0 / 0 |
