Оптимизация индексов в программе...?

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
HEMD
Сообщения: 9
Зарегистрирован: 25 июл 2005, 14:12

Оптимизация индексов в программе...?

Сообщение HEMD » 25 июл 2005, 14:49

Здраствуйте, коллеги!
Не нашел API по оптимизации индексов в базе (понимаю что начинаю выклянчивать, пожалуйста подскажите ссылку на примеры или теорию). В этом есть необходимость, поскольку используется сложный JOIN и при кол-ве записей >50000, возникают проблемы с производительностью...


Спасибо ВСЕМ откликнувщимся! Удачи ВАМ Дамы и Господа!

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 25 июл 2005, 16:39

НЕТ никакого API по "оптимизации индексов в базе".

а по поводу join см.
www.ibase.ru/devinfo/joins.htm

HEMD
Сообщения: 9
Зарегистрирован: 25 июл 2005, 14:12

Сообщение HEMD » 25 июл 2005, 17:00

Да, спасибо, KDV, конечно читал о использовании JOIN на этом сайте и на соседском форуме выдвигал запрос :) (оптимизировал насколько мог).
Просто эта вещь (оптимизация индексов) присутствует в IBEXPERT, и хотелось написать эту процедуру программным путем из своей программы (запрос выполняется в 2-3 раза быстрее), а заставлять пользователя применять и IBEXpert для оптимизации... :(

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 25 июл 2005, 17:03

эта вещь (оптимизация индексов) присутствует в IBEXPERT
что-что там присутствует??? :-)

tie
Сообщения: 39
Зарегистрирован: 14 июл 2005, 12:12

Сообщение tie » 27 июл 2005, 04:22

Уважаемый!
Сударь!
kdv!
А как вы определяете какой индекс нужен а какой нет?

Лысый
Сообщения: 177
Зарегистрирован: 08 ноя 2004, 08:20

Сообщение Лысый » 27 июл 2005, 09:01

tie писал(а):Уважаемый!
Сударь!
kdv!
А как вы определяете какой индекс нужен а какой нет?
Это не он, а сервер определяет какие индексы использовать :) Возможно и ручное управление планами, но где гарантии, что в следующей версии сервера не придется переписывать?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 27 июл 2005, 10:27

какие индексы использовать, определяет сервер. что такое индексы и вообще (статистика и т.п.) - есть в документации, а также в хелпе IBAnalyst. Остальное - своей думалкой.

я бы хотел вернуться к вопросу, что за "вещь (оптимизация индексов)" присутствует в IBExpert? уже который раз люди лезут в какие то дебри, которые им не нужны. Или путаются в терминологии.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 27 июл 2005, 11:36

kdv писал(а): я бы хотел вернуться к вопросу, что за "вещь (оптимизация индексов)" присутствует в IBExpert?
Ставлю на inactive/active :lol:

Karp
Сообщения: 41
Зарегистрирован: 30 апр 2005, 16:30

Сообщение Karp » 27 июл 2005, 12:08

Merlin писал(а): Ставлю на inactive/active :lol:
а я на селективность (IBE - обновить статистику) -))

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Сообщение Ivan_Pisarevsky » 27 июл 2005, 12:28

я бы хотел вернуться к вопросу, что за "вещь (оптимизация индексов)" присутствует в IBExpert?
Может имеется в виду план запроса, показываемый ибэкспертом?
Я вот, например, пишу в программе запрос, если тормозит, скармливаю его ибэкперту, выполняю, гляжу на время, на план, если где-то сервер поплелся натуралом, то добавляю/убиваю индексы, рихтую запрос :) Но тут оптимизация ручками, а не ибэкспертом :wink:

_so_
Сообщения: 144
Зарегистрирован: 04 ноя 2004, 22:17

Сообщение _so_ » 27 июл 2005, 17:01

Может имеется в виду план запроса, показываемый ибэкспертом?
Я вот, например, пишу в программе запрос, если тормозит, скармливаю его ибэкперту, выполняю, гляжу на время, на план, если где-то сервер поплелся натуралом, то добавляю/убиваю индексы, рихтую запрос Но тут оптимизация ручками, а не ибэкспертом
Почти так. Но в некоторых случаях по хуже. План не всегда показвается. Приходится вазиться подольше. Бывает приходится отключать индексы udf. Иногда еще хуже. Из-за глюков IB начиная с 7.1 приходится обкладывать вложенные select возвращаемые резулбтат обкладывть хранимыми процедурами, чтоб за использовал индексы. иначе делает натурал. Короче гемороя много. Но все же оптимистично.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 27 июл 2005, 19:52

_so_ писал(а): Почти так. Но в некоторых случаях по хуже. План не всегда показвается. Приходится вазиться подольше. Бывает приходится отключать индексы udf. Иногда еще хуже. Из-за глюков IB начиная с 7.1 приходится обкладывать вложенные select возвращаемые резулбтат обкладывть хранимыми процедурами, чтоб за использовал индексы. иначе делает натурал. Короче гемороя много. Но все же оптимистично.
Что посоветовать - выдохнуть или закусить?

_so_
Сообщения: 144
Зарегистрирован: 04 ноя 2004, 22:17

Сообщение _so_ » 28 июл 2005, 10:44

И то и другое одновременно.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 28 июл 2005, 12:09

где автор вопроса? я таки хочу продолжения дискуссии...

HEMD
Сообщения: 9
Зарегистрирован: 25 июл 2005, 14:12

Сообщение HEMD » 06 сен 2005, 12:44

Здравствуйте господа!
Случайно зашел на форум, а тут...
Извините за долгое молчание, поскольку тоже неменьше ожидал ответа (а тут еще и командировка). Однако в продолжении дискуссии:
1. Под оптимизацией понималось: Recompute of selectivity of all indices.
2. В действительности постановка вопроса не отличается проффесианализмом (новичек), но поэтому и обратился у к Вам уважаемые.
3. Вопрос частично решился ответом в запросе на SELECT FIRST 100 * FROM TABLE, однако вопрос животрепещущий и не решенный...
4. Главный "тормоз" запроса это -> ORDER BY Some_Pole... На это и был направлен вопрос о оптимизации индексов...
ВСЕМ ОГРОМНОЕ СПАСИБО

Ответить