powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Явно указать используемый индекс?
23 сообщений из 23, страница 1 из 1
Явно указать используемый индекс?
    #38318029
sigmov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересует можно ли указать SQL-оптимизатору какой индекс нужно использовать для выборки?
Сейчас используем %IGNOREINDEX но уже заколебались при добавлении индекса на таблицу лазать по всем запросам и добавлять его в %IGNOREINDEX
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318094
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы не колебаться, нужно использовать СУБД. Если такой возможности у Вас нет, то нужно:
1) Удалить все указания оптимизатору во всех запросах.
2) IS удалить возможность указаний и обеспечить эффективную работу оптимизатора без указаний.
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318095
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошая, кстати, тема для большого-большого гранта))
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318135
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаХорошая, кстати, тема для большого-большого гранта))
Который реализуют талантливые студенты. Т.е. технология объезженая...
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318219
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaБредятинаХорошая, кстати, тема для большого-большого гранта))
Который реализуют талантливые студенты. Т.е. технология объезженая...
То есть, указания оптимизатору уже не нужны)) Вот как всё хорошо разрешилось))
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318389
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigmovИнтересует можно ли указать SQL-оптимизатору какой индекс нужно использовать для выборки?Оптимизатор сам решает на основе selectivity, extentsize и blockcount использовать или не использовать те или иные индексы, поэтому и нет соответствующих хинтов кроме %ALLINDEX .
Гораздо интереснее взглянуть на Ваши запросы, почему оптимизатор всё-таки игнорирует индексы. Возможно дело в разных Collation ?
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318438
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servit,

Возможно он игнорирует индексы потому что селективность никто и не подсчитывал никогда, и для оптимизатора все индексы "равны"
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318456
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigmovно уже заколебались при добавлении индекса на таблицу

Бездумное добавление индексов к таблице никогда до добра не доводит.

Нужно проанализировать характер данных, определить наиболее часто используемые выборки и в уже под них добавлять индексы, желательно не сильно пересекая их по списку полей.
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318470
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PtnВозможно он игнорирует индексы потому что селективность никто и не подсчитывал никогда, и для оптимизатора все индексы "равны"Возможно.
Но я в таких случаях всегда предполагаю, что ТС до этого делал TuneTable()
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318474
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PtnБездумное добавление индексов к таблице никогда до добра не доводит.Я бы не торопился с выводами.
Дождёмся ТС.
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318489
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigmovИнтересует можно ли указать SQL-оптимизатору какой индекс нужно использовать для выборки?
Сейчас используем %IGNOREINDEX но уже заколебались при добавлении индекса на таблицу лазать по всем запросам и добавлять его в %IGNOREINDEXИнтересно, а зачем же тогда вы добавляете индекс который по идее вроде как должны помогать запросам. Для чего же вы его добавляете в класс, если не используете его для SQL.
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318845
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаТо есть, указания оптимизатору уже не нужны)) Вот как всё хорошо разрешилось))
Х/з как там это реализуют талантливые студенты...
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318953
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaБредятинаТо есть, указания оптимизатору уже не нужны)) Вот как всё хорошо разрешилось))
Х/з как там это реализуют талантливые студенты...
Как правило по грантам InterSystems процесс разработки "талантливых студентов" направляют опытные разработчики.

krvsa, похоже, Вам все-таки не дает покоя возможность поучаствовать в этом процессе? ;)
У Вас под боком есть институт-участник InterSystems Campus, более того - есть и талантливые студенты/аспиранты тоже в прямой досягаемости.
Подавайте заявку на грант и руководите талантливыми студентами, чтобы делали все правильно.
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318962
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шваров Евгенийпохоже, Вам все-таки не дает покоя возможность поучаствовать в этом процессе? ;)
Я забесплатно не работаю.

Шваров ЕвгенийУ Вас под боком есть институт-участник InterSystems Campus, более того - есть и талантливые студенты/аспиранты тоже в прямой досягаемости.
Подавайте заявку на грант и руководите талантливыми студентами, чтобы делали все правильно.
Я не верю в "талантливых студентов"...
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318973
AlexKB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaЯ не верю в "талантливых студентов"...

А я верю - нужно просто уметь заглянуть им в глаза!
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38318986
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaШваров Евгенийпохоже, Вам все-таки не дает покоя возможность поучаствовать в этом процессе? ;)
Я забесплатно не работаю.


Гранты оплачиваются от 50 до 150 т.р. за штуку. В этом году уже реализовано 4 шт. и еще 6 в процессе.
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38319006
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шваров ЕвгенийГранты оплачиваются от 50 до 150 т.р. за штуку. В этом году уже реализовано 4 шт. и еще 6 в процессе.
Да просто афигеть!
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38319008
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKBА я верю - нужно просто уметь заглянуть им в глаза!
Дело твое...
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38319020
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorsigmovИнтересует можно ли указать SQL-оптимизатору какой индекс нужно использовать для выборки?
Сейчас используем %IGNOREINDEX но уже заколебались при добавлении индекса на таблицу лазать по всем запросам и добавлять его в %IGNOREINDEXИнтересно, а зачем же тогда вы добавляете индекс который по идее вроде как должны помогать запросам. Для чего же вы его добавляете в класс, если не используете его для SQL.
Если используется СУБД, то индексы используются непосредственно в интерактивном интерфейсе, а не только в запросах/отчетах. А если СХОД - то, конечно, только в запросах, но вероятно, речь идет о том, что в конкретных запросах нужно использовать конкретные индексы, то есть, речь идет о хинтах. Которых, конечно, не должно быть для оптимизатора (иначе это уже не оптимизатор).
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38319555
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorИнтересно, а зачем же тогда вы добавляете индекс который по идее вроде как должны помогать запросам. Для чего же вы его добавляете в класс, если не используете его для SQL.Запросы бывают разные. Одним запросам индекс помогает, а другим мешает.
У нас было такое, в результате не смогли побороть и удалили индекс. Лучше
Рекомендации перестроить селективности - это, конечно да. Но есть случаи, когда правильно посчитанная селективность приведет к ошибочному плану запросов.
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38319557
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...Лучше один запрос будет медленнее в в три раза, чем другой в 100.
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38319909
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Одним запросам индекс помогает, а другим мешает.Для случаев, когда индекс мешает, предусмотрен хинт %IGNOREINDEX name , но у ТС другой случай.
Блок А.Н.Но есть случаи, когда правильно посчитанная селективность приведет к ошибочному плану запросов.Всё зависит от конкретной версии СУБД. В последних версиях очень многое делается для оптимизации плана запросов. Например, в 2013.1 в Портал добавлен инструмент по сбору статистики и анализу различных планов запросов и индексов, а в версии 2013.2 ещё больше улучшений.
Блок А.Н.У нас было такое, в результате не смогли побороть и удалили индекс.Индекс можно и не удалять, а достаточно выключить, чтобы оптимизатор его просто не видел, а значит и не использовал. Как это сделать описано в одной из статей .
...
Рейтинг: 0 / 0
Явно указать используемый индекс?
    #38321356
sigmov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всему сообществу за щирокий отклик.

Как я понял указать используемый индекс все же никак нельзя - жаль (((
DAiMorИнтересно, а зачем же тогда вы добавляете индекс который по идее вроде как должны помогать запросам. Для чего же вы его добавляете в класс, если не используете его для SQL.
Новый индекс конечно же используется для SQL запросов. Но при этом сбивает "правильный" индекс в некоторых уже существующих.

авторДля случаев, когда индекс мешает, предусмотрен хинт %IGNOREINDEX name, но у ТС другой случай.
Прикол в том, что оптимизатор начисто игнорит самый лучший индекс, предпочитая ему практически любой другой ))) Вот и приходится все прочие добавлять в игнор )))

По правде говоря таких запросов у нас не так уж и много (всего 3шт), но все равно напрягает.

Про селективити спасибо - попробую поиграться )))
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Явно указать используемый индекс?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]