Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - Оптимизация запросов СУБД - Статистика23 января 2011Оглавление: 1. Оптимизация запросов СУБД 2. Стратегии оптимизации 3. Оценка альтернативных способов выполнения 4. Оценка числа извлекаемых строк 5. Оптимизация параллельных сортировок 6. Статистика Для оценки потенциального числа строк, извлекаемого из таблицы, РСУБД использует статистику. Статистика имеет вид гистограмм для каждой колонки таблицы, где по горизонтали располагается шкала значений, а высотой столбца отмечается оценка числа строк в процентах от общего числа строк. Таким образом, если из таблицы извлекаются строки со значением колонки C с ограничением, то можно оценить число строк, попадающих в этот интервал. Алгоритм оценки числа извлекаемых строк следующий:
Как правило, СУБД не знает и не может знать точное число строк в таблице FROM TABLE выполняется сканирование первичного индекса), поскольку в базе могут храниться одновременно несколько образов одной и той же таблицы с различным числом строк. Для оценки числа строк используются следующие данные:
Статистика так же может храниться нарастающим итогом. В этом случае каждый интервал содержит суммарную оценку всех предыдущих интервалов плюс собственную оценку. Для получения оценки числа строк для ограничения достаточно из оценки интервала, в который попадает V2, вычесть оценку интервала, в который попадает V1. Сбор статистики для построения гистограмм осуществляется либо специальными командами СУБД, либо фоновыми процессами СУБД. При этом, ввиду того, что база может содержать существенный объём данных, делается выборка меньшего объёма из всей генеральной совокупности строк. Оценка репрезентативности выборки может осуществляться, например, по критерию согласия Колмогорова. Если данные в таблице существенно изменяются в короткий промежуток времени, то статистика перестает быть актуальной и оптимизатор принимает неверные решения о полном сканировании таблиц. Режим работы базы данных должен быть спланирован таким образом, чтобы поддерживать актуальную статистику, либо не использовать оптимизацию на основе статистики. Просмотров: 4933
|