Форум: "Базы";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
ВнизОбъясните дураку, люди добрые..... Найти похожие ветки
← →
bedniy_student (2002-12-05 10:57) [0]Задание: Поставьте следующий эксперимент. Создайте таблицу
Create table tab (редкий integer not null, частый integer not null, пустышка char(100) not null);
Используя какое либо процедурное расширение SQL заполните таблицу тестовыми данными так, что в столбце редкий будет 5 различных значений, а в столбце частый на каждое из 5 значений столбца редкий будет приходится по 5000 различных значений. Измерьте время выполнения нескольких операторов выборки из таблицы поочередно для каждого из следующих четырех индексов и объяснить результат:
Create index ind1 on tab (редкий);
Create index ind2 on tab (редкий, частый);
Create index ind3 on tab (частый);
Create index ind4 on tab (частый, редкий);
Я могу понять вес результаты кроме этого…
select пустышка from tab where редкий=5 and частый=500;
без индекса – 700 мкс
ind1 - 900
ind2 - 30
ind3 - 30
ind4 - 30
Почему при индексации по первому столбцу запрос выполняется так долго, а по остальным нормально???
← →
stone (2002-12-05 11:03) [1]индекс это хранилище указателей на строки таблицы
в первом случае (редкий) поиск быстро осуществляется по редким значениям, а потом долго ищет частые
Идеальный тут четвертый вариант
в двух других случаях результат похож из-за незначительного количества (редкого) поля
← →
bedniy_student (2002-12-05 11:12) [2]Так, но почему он при первом индексе работает дольше чем без индекса вообще???
← →
stone (2002-12-05 11:18) [3]при первом запросе строится схема оптимизации запроса
если ты повторишь запрос с ind1 два раза подряд, то во второй раз он должен выполниться быстрее
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c