![]() |
|
Модераторы: Akina |
![]()
|
|
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: нет Всего: 20 |
Везде сказано, что индексы ускорят поиск по БД.
Имеется таблица примерно следующего содержания: ID_ARTIST - NUM ID_GENRE - NUM ARTIST - STR Создаю индекс: CRATE INDEX NEW_INDEX ON ARTISTS (ARTIST) Выполняю запрос: SELECT ARTIST FROM ARTIST WHERE ARTIST LIKE '%' ORDER BY ARTIST Но почему-то увеличение скорости поиска не наблюдается. P.S. Индекс создаю для уже заполненной таблицы -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 15 Всего: 35 |
Artemon, твоем случае надо выбрать всю таблицу, и индекс не поможет.
Я неуверен, что при использывании like индекс поможет. Вот если бы поиск происходил бы по определенному ID, тогда индеь по ID ускорит поиск по таблице. Добавлено @ 12:15 Что б убедится в том помогает индекс или нет, надо посмотреть execution plan запроса. -------------------- Никогда не говори никогда |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
При выборке ВСЕЙ таблицы некластерный индекс только увеличит время выборки, если его использовать.
Для ускорения выборки по Like части данных надо строить полнотекстовый индекс - иначе индекс тоже не сможет использоваться (за исключением случая когда в шаблоне статические символы только в начале шаблона). См. справку - оптимизация запросов на выборку. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Открываем Query Analyser, кладём туда твой запрос, смотрим план выполнения запроса, чего там используется и сколько ресурсов на это тратиться... Там есть ответы на все подобные вопросы. Кроме того можно директивно заставить запрос использовать тот или иной индекс и посмотреть что из этого получится.
PS. Кстати не понял глубинного смысла конструкции:
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: нет Всего: 20 |
Я привел примерный запрос, на самом деле, вмечто '%' - строка.
Я даже не подумал, что это может изменить суть вопроса........ Добавлено @ 17:46
Где мне эту справку посмоьреть? -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 15 Всего: 35 |
Именно от условия и зависит, какой индекс и каким образом будет работать в запросе.
-------------------- Никогда не говори никогда |
|||
|
||||
| Vit |
|
||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Приведенные 2 запроса будут работать совершенно по разному:
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||
|
|||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: нет Всего: 20 |
При таком запросе индекс должен ускорять работу или нет?
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| boevik |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 15 Всего: 35 |
Например, если есть индекс по полю Field, то при таком запросе
выполняется index seek, т.е. ускоряет работу. А при таком
index scan или table scan, т.е. наличие индекса не ускоряет выполнение запроса. Это сообщение отредактировал(а) boevik - 1.2.2006, 20:10 -------------------- Никогда не говори никогда |
||||
|
|||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: нет Всего: 20 |
Понятно.
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
А последовать совету слабо?: То что тебе Боевик сказал - видно же невооружённым глазом... Достаточно открыть и посмотреть... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: нет Всего: 20 |
Vit, я SQL SERVER первый раз увидел неделю назад.
я пока еще не ориентируюсь не в самом SQL SERVER'е Да и в запросах тоже слабоват............ P.S. В Query Analyser почему-то не выдается время выполнения запроса. Куча всякой инфы есть, а времени нет, или я слипой. -------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 5 Всего: 207 |
Время есть - внизу в правом углу. Кроме того зайди в меню и включи - смотреть план выполнения запроса, тогда можно будет посмотреть схему запроса и затраты времени на каждый шаг
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |