Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
Доброго вам всего. есть вопрос informix 7.30.UC10 под Linux RH ядро 2.4 , чанки по 2 гб tempdb - 2 гб очень часто (может быть всегда ?) из програмы нарисованной на 4gl после создания временной таблицы с индексами , если сразу же после создания не сделать update statistics по созданной таблице , то при выборке по этой временной таблице информикс индексы игнорирует. Может что в onconfig что не проставелно ? Спасибо , Александр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 15:22 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
aist-pskочень часто (может быть всегда ?) из програмы нарисованной на 4gl после создания временной таблицы с индексами , если сразу же после создания не сделать update statistics по созданной таблице , то при выборке по этой временной таблице информикс индексы игнорирует. Может что в onconfig что не проставелно ?Без статистики информикс не знает сколько в таблице строк, поэтому оптимизатор, считая что таблица пустая, принимает решение не использовать индекс. Если сравнить планы (точнее Estimated Cost/Rows) то это хорошо видно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 15:30 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
Беру свои слова назад, оптимизатор не считает что она пустая, но все равно его исходные данные неверны: без статистики: Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. со статистикой: Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 15:46 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
так update статистики после создания временной таблицы - это правило и делать всегда ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 17:05 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
aist-pskтак update статистики после создания временной таблицы - это правило и делать всегда ?Нет никаких правил. Можно хинтами принудить ходить по индексу: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 17:34 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
aist-pskтак update статистики после создания временной таблицы - это правило и делать всегда ? Если Ваши временные таблицы таковы, что их нужно индексировать, то нужно и статистику обновлять, чтобы сервер эти индексы использовал - в этом использование временных таблиц ничем от постоянных не отличаются, оптимизатор один и тот же. Как минимум, статистику (UPDATE STATISTICS LOW, я имею ввиду). Возможно, и размер экстента стоит настроить, и распределение построить - это зависит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 17:35 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
Александр Спирин, и распределение построить - это зависит...Не получится, только dba может писать в таблицу sysdistrib. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 17:40 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
как хинт для ms sql дать знаю , подскажите синтаксис как узаказать informix`су нужный индекс? select * ... index...? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 18:47 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
Журавлев ДенисБез статистики информикс не знает сколько в таблице строк, поэтому оптимизатор, считая что таблица пустая, принимает решение не использовать индекс. Информикс знает сколько в таблице строк, но он ничего не знает об индексах и распределении данных в столбцах, поэтому оптимизатор использует некоторые упрощенные правила. Например, если фильтр="константа", то оптимизатор считает, что этому условию будет удовлетворять ровно треть записей таблицы, т.е. избирательность такого фильтра (без знания распределения) =0.33 Именно поэтому в следующем примере Дениса видно, что "Estimated # of Rows Returned: 17", т.к. в таблице systables находилось примерно 50-53 записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 21:33 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
aist-pskтак update статистики после создания временной таблицы - это правило и делать всегда ? Если строите индексы и хотите, чтобы они эффективно использовались - то это правило. Причем не обязательно делать high по всей таблице - вполне хватит medium или high только по ключевому столбцу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 21:36 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис Можно хинтами принудить ходить по индексу: Код: plaintext 1. 2. Насколько я помню, хинты появились только с версии 7.31, т.ч. вполне возможно, что в данной версии (7.30.UC10) их еще и нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 21:39 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
понял , спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2007, 23:01 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис Александр Спирин, и распределение построить - это зависит...Не получится, только dba может писать в таблицу sysdistrib.наврал, для временной таблицы можно. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 09:32 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
vasilis....ровно треть записей таблицы, т.е. избирательность такого фильтра (без знания распределения) =0.33 Именно поэтому в следующем примере Дениса видно, что "Estimated # of Rows Returned: 17", т.к. в таблице systables находилось примерно 50-53 записи. Не угадал :) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 09:52 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
vasilis если фильтр="константа", то оптимизатор считает, что этому условию будет удовлетворять ровно треть записей таблицы, т.е. избирательность такого фильтра (без знания распределения) =0.33 Именно поэтому в следующем примере Дениса видно, что "Estimated # of Rows Returned: 17", т.к. в таблице systables находилось примерно 50-53 записи. Второй раз ВАУ за сегодня... Не подскажете где можно увидеть в доке (а не проверить на практике) эту информацию: "оптимизатор считает, что этому условию будет удовлетворять ровно треть записей таблицы"? Может, конечно, протупил при поиске - но нигде пока не встретил ничего подобного... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 12:39 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис vasilis....ровно треть записей таблицы, т.е. избирательность такого фильтра (без знания распределения) =0.33 Именно поэтому в следующем примере Дениса видно, что "Estimated # of Rows Returned: 17", т.к. в таблице systables находилось примерно 50-53 записи. Не угадал :) Код: plaintext А я не угадывал, а вспоминал, причем неправильно вспомнил. Сейчас полез, посмотрел, что 0.33 это для > (больше) или < (меньше) "выражения", а для равенства = 0.1, так что все верно - 17 строк и есть одна десятая от 172. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 12:49 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
АнатоЛойНе подскажете где можно увидеть в доке (а не проверить на практике) эту информацию:... Может, конечно, протупил при поиске - но нигде пока не встретил ничего подобного... Не подскажу, так как в официальной документации я тоже такого не видел, но в материалах учебного курса "Managing and optimizing IDS.2000" в разделе "The cost-based query optimizer" есть таблица присвоения селективности фильтра (filter selectivity assignments), из которой я и брал данные цифры. Наверняка эти значения довольно условны и могут изменяться в версиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2007, 12:58 |
|
||
|
индексы по временным таблицам
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис Александр Спирин, и распределение построить - это зависит...Не получится, только dba может писать в таблицу sysdistrib. И статистика, и распределения для временных таблиц не хранятся в таблицах системного каталога. Строить распределение для временных таблиц, не будучи DBA, можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2007, 14:16 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=34278323&tid=1608467]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 397ms |

| 0 / 0 |
