Сортировка ссылок в вебмастере

1 23
[Удален]
#21

бывет иногда

A
На сайте с 11.05.2007
Offline
155
#22
AnNik:
Закономерность там одна: СУБД пытается оптимизировать выполнение запроса, в первую очередь минимизировать обращения к диску, поэтому чаще всего выдача идет в порядке физического расположения записей (таблицы или индекса) на диске. Для небольших выборок из "статических" (редко и мало изменяемых) таблиц физическое расположение записей часто совпадает с тем, в каком порядке делались записи в эту таблицу.
(все это конечно очень грубо и упрощенно)

да я то с этим согласен, это чистая правда. сразу видно что вы как и я работали с базами =) на реляционном языке вы говорите про Full Scan таблицы.

вот если представить базу яндекса как реляционную структуру: кроме простого чтения есть еще соединение с другими данными, которые уже могут быть "отсортированы" по индексу.

набор 1 (без индекса) "таблица ссылок yandex.webmaster"

Дата добавления ссылки | адрес документа-донора|ссылающийся сайт| анкор|ссылающися сайт|документ-реципиент| ...

набор 2 (с индексом) "таблица характеристик сайтов"

адрес сайта|ТИЦ|ВиЦ|Траст|....

При соединении по полю "адрес сайта" вторая таблица(там правда не реляционные таблицы как вы правильно сказали, но для упрощения пусть будет так) будет браться по индексу

а индекс может быть составной

например

адрес сайта|ВИЦ|Траст

(Почему он вполне может быть составной я могу объяснить если надо. самые важные параметры логично было бы все кинуть в индекс т.к. табличка-то будет явно большая и г соответственно все самое важное кидаем в индекс и даже можноне "заходить" в таблицу.)

Итак при соединении уже получим условно отсортированый набор данных. Естественно лишь условно т.к. индекс как всем известно - не гарантия сортировки. По моим наблюдениям и порядка 20%-30% записей будут в Оракле идти "случайно"(зависит от настройки базы) а вот 70-80 будут отсортированы.

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий