|
Сравнение механизмов хинтования.
|
|||
---|---|---|---|
#18+
хинтыА это делается глобально для запроса для сессии/соединения или для всей БД?Вообще для сессии, но можно поменять обратно после запроса. Можно сделать локально для транзакции. хинтыИ если можно пример того как управлять порядком таблиц при соединении?Нужно запретить базе менять их порядок, есть пара настроек для этого: http://www.postgresql.org/docs/current/static/explicit-joins.html ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2012, 02:42 |
|
Сравнение механизмов хинтования.
|
|||
---|---|---|---|
#18+
1) Насколько я знаю DB2 в запросе нельзя указать хинты. Это может сделать администратор в специальном конфиге для хинтов. IMHO самый правильный подход, разработчикам которые делаюь хинты без согласования с админом на отрывать ... 2) В DB2 и Информикс статистика очень развита Куликов описывал хорошой пример Ресурсы по Informix 3) Куда в отнести DB2 WLM (Workload Management Feature) к метахинтам? Она позволяет внутри базы разным пользователям и запросам выдавать разный приоритет выполнения и количество ресурсов при обработке запроса. ORACLE...: индекс(+), стратегия соединения(+), внешний план(+), Метахинты: [статистика(?), параллельность(+), допхинты(см.ссылку) ] MSSQL....: индекс(+), стратегия соединения(+), внешний план(+), Метахинты: [статистика(+), параллельность(+), допхинты(уровень оптимизации, оптимизация получения набора данных) ] SybaseSA.: индекс(+), стратегия соединения(-), внешний план(-), Метахинты: [статистика(+), параллельность(+), допхинты(тип нагрузки запроса, уровень глубины оптимизацииб оптимизация получения набора данных) ] SybaseASE: индекс(+), стратегия соединения(+-), внешний план(+), Метахинты: [статистика(-), параллельность(+), допхинты(уровень оптимизации) ] DB2:.....: индекс(-), стратегии соединения(-), внешний план(+), Метахинты: [статистика(+), параллельность(+), допхинты(уровень глубины оптимизации) ] Firebird.: индекс(-), стратегия соединения(-), внешний план(+), Метахинты: [?] Postgres.: индекс(+-), стратегия соединения(-), внешний план(-), Метахинты: [(-) ] MySQL....: индекс(+), стратегия соединения(+-), внешний план(-), Метахинты: [(-) ] Informix.: индекс(?), стратегия соединения(?), внешний план(?), Метахинты: [(?) ] ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2012, 12:02 |
|
Сравнение механизмов хинтования.
|
|||
---|---|---|---|
#18+
если выделяемый ресурс на выполнение запроса в дб2 влияет на построение плана, то можно отнести к метахинтам. Если не влияет - то нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2012, 12:14 |
|
Сравнение механизмов хинтования.
|
|||
---|---|---|---|
#18+
автор3) Куда в отнести DB2 WLM (Workload Management Feature) к метахинтам? Она позволяет внутри базы разным пользователям и запросам выдавать разный приоритет выполнения и количество ресурсов при обработке запроса. Это не хинт (ибо не влияет на план), впрочем так же как и Resource Governоr в MS SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2012, 14:26 |
|
Сравнение механизмов хинтования.
|
|||
---|---|---|---|
#18+
pkarklinавтор3) Куда в отнести DB2 WLM (Workload Management Feature) к метахинтам? Она позволяет внутри базы разным пользователям и запросам выдавать разный приоритет выполнения и количество ресурсов при обработке запроса. Это не хинт (ибо не влияет на план), впрочем так же как и Resource Governоr в MS SQL. А DB2 WLM и Resource Governor не могут влиять на степень распараллеливания (допустим при отсутствии хинта MAXDOP в MS SQL)? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2012, 15:40 |
|
Сравнение механизмов хинтования.
|
|||
---|---|---|---|
#18+
хинтыА DB2 WLM и Resource Governor не могут влиять на степень распараллеливания (допустим при отсутствии хинта MAXDOP в MS SQL)? Нет. Только на долю процессорного времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2012, 12:01 |
|
Сравнение механизмов хинтования.
|
|||
---|---|---|---|
#18+
ЁшхинтыА это делается глобально для запроса для сессии/соединения или для всей БД?Вообще для сессии, но можно поменять обратно после запроса. Можно сделать локально для транзакции. хинтыИ если можно пример того как управлять порядком таблиц при соединении?Нужно запретить базе менять их порядок, есть пара настроек для этого: http://www.postgresql.org/docs/current/static/explicit-joins.html Т.е. просто в скобочками обозначаем JOIN и ON в какой последовательности они будут соединяться? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2012, 02:24 |
|
Сравнение механизмов хинтования.
|
|||
---|---|---|---|
#18+
JOIN и ON, точно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2012, 13:01 |
|
Сравнение механизмов хинтования.
|
|||
---|---|---|---|
#18+
Ggg_oldкрасным выделена сервера, за которые пока никто толком не дал инфу. Дам сегодня по Informix ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 18:42 |
|
Сравнение механизмов хинтования.
|
|||
---|---|---|---|
#18+
Informix: Основной источник информации тут 1. (+) индекс - метод доступа к таблице (использовать или нет конкретный индекс, избегать использования или несипользования индексов и т.д.) 2. (+) стратегия соединения 2.1. (+) порядок соединения таблиц (order) 2.2. (+) метод соединения (nested loop join, hash join) 3. (?) внешний план Есть возможность не трогая текст запроса в приложении задать ему набор хинтов на уровне всей БД (не важно, какая сессия выполняет запрос): Метахинты: 3.1. (?) статистика - указывать явное распределение как в МС СКЛ - не видел. 3.2. (+) параллельность 3.2.1. для схем типа звезда в запросе 3.2.2. для схем типа звезда в сессии 3.2.3. в общем для сессии 3.3. допхинты 3.3.1. (+) цель оптимизации (получить все строки запроса или только первые строки). На уровне запроса Можно также регулировать по умолчанию на уровне сессии или сервера . 3.3.2. (?) глубина оптимизации на уровне сессии ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 20:02 |
|
|
start [/forum/topic.php?fid=35&gotonew=1&tid=1552536]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
9ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 251ms |
total: | 386ms |
0 / 0 |