
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.01.2008, 21:23
|
|||
|---|---|---|---|
|
|||
Время работы хранимки сократилось. Почему? |
|||
|
#18+
Имеется таблица, кластерный индекс которой построен на n полях, являющихся внешним ключом. Хранимая процедура отрабатывает за время ~2t. С таблицей производятся следующие действия: 1) добавляется новый столбец (в данный момент не являющийся внешним ключом, но в перспективе может им стать) 2) данный столбец включается в индекс (становится последним столбцом в индексе) 3) т.к. условно значениями столбца могут быть значения от 1 до k ( в нашем тесте k = 10), данные таблицы дублируем k раз, изменяя только значение добавленного столбца. Т.е. получили на выходе (кол-во строк до) * k. Цель: получить k отдельных наборов данных. 4) модифицируем хранимую процедуру для выборки с учетом набора данных: формальным параметром в процедуру передаем номер набора и добавляем при фильтрации результата проверку на соответствие заданному номеру. время работы модифицированной хранимой процедуры ~t конкретные цифры: количество записей в таблице до дубликации: 1200 000 после 12 000 000 время выполнения хранимой процедуры изначально ~34 секунды после (на увеличенном в 10 раз наборе данных) ~18 секунд Почему время могло сократиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=32&mobile=1&tid=1544092]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
193ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 288ms |
| total: | 580ms |

| 0 / 0 |
