powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Методики выбора индексов
7 сообщений из 7, страница 1 из 1
Методики выбора индексов
    #38113729
PM2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Читаю сей документ и не могу понять, как у авторов получаются оценки числа начитываемых страниц для некластеризованных индексов из первого примера ("Choosing an index for a range query"). По каким формулам они считают?
...
Рейтинг: 0 / 0
Методики выбора индексов
    #38122735
PM2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ссылка исправлена , вопрос актуален.

Модератор: Тема перенесена из форума "Проектирование БД".
...
Рейтинг: 0 / 0
Методики выбора индексов
    #38123619
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PM2010,

А что конкретно не понятно?
Приведи выдержку из текста и выдели непонятное.
...
Рейтинг: 0 / 0
Методики выбора индексов
    #38124310
PM2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДокументацияTo read 190,000 matching rows, the query would read approximately 25,300 pages, plus 3 or 4 index pages.
190 тыс строк / 7.5 тыс на строку ~~ 25300. Это понятно.
ДокументацияWith a nonclustered index on price and random distribution of price values, using the index to find the rows for this query requires reading about 19 percent of the leaf level of the index, about 1,500 pages.
Откуда взялось, что 1.5 тыс страниц - это 19% всех страниц индекса (т.е. в индексе всего порядка 8000 страниц)? Как это посчитать?
ДокументацияAnother choice is a nonclustered index on price, title. <...> This index requires about 35,700 leaf pages, so to scan the matching leaf pages requires reading about 19 percent of the pages of this index, or about 6,800 reads.
Опять, откуда взялось, что на листовом уровне будет 35700 страниц? 6800 - это количество считываемых страниц или строк на них?
...
Рейтинг: 0 / 0
Методики выбора индексов
    #38124311
PM2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PM20107.5 тыс на строку
7.5 строк на страницу конечно же.
...
Рейтинг: 0 / 0
Методики выбора индексов
    #38125312
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PM2010ДокументацияWith a nonclustered index on price and random distribution of price values, using the index to find the rows for this query requires reading about 19 percent of the leaf level of the index, about 1,500 pages.
Откуда взялось, что 1.5 тыс страниц - это 19% всех страниц индекса (т.е. в индексе всего порядка 8000 страниц)? Как это посчитать?Это никак не считается, это находится методом чтения таблицы и собирания статистики . В дальнейшем, сервер читает эту статистику, и на ее основе прикидывает сколько страниц индекса может потребоваться и где их искать.
В начале страницы (которая веб-страница из документации а не страница сервера) есть общие данные по таблице:
ДокументацияSome basic statistics on the table are:
The table has 1,000,000 rows, and uses allpages locking.
There are 10 rows per page; pages are 75 percent full, so the table has approximately 135,000 pages.
190,000 (19%) of the titles are priced between $20 and $30.
Вот последняя строка и есть: "прочитано из статистики".
Как эта статистика хранится, как часто она обновляется это все тоже вносит свои проблемы и поэтому оптимизатор может ошибаться в выборе подходящего индекса.

PM2010ДокументацияAnother choice is a nonclustered index on price, title. <...> This index requires about 35,700 leaf pages, so to scan the matching leaf pages requires reading about 19 percent of the pages of this index, or about 6,800 reads.
Опять, откуда взялось, что на листовом уровне будет 35700 страниц? 6800 - это количество считываемых страниц или строк на них?6800 это страниц в которых "скорее всего" лежат ссылки на подходящие под запрос строки, а 35700 это общее количество страниц в индексе со ссылками на строки. Индекс скорее всего хранится как b-tree и соотвественно имеет "внутренние" страницы которые в этих расчетах впрямую не участвуют.
...
Рейтинг: 0 / 0
Методики выбора индексов
    #38125317
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlОпять, откуда взялось, что на листовом уровне будет 35700 страниц?А вообще, 35700 берется из расчета: "Количеcтво страниц в таблице" деленное на "размер ключа". Где ключ это либо индексируемое поле целиком, либо хеш из него в паре с физическим номером строки.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Методики выбора индексов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]