2015-09-04 1 views
0

читать эту http://www.programmerinterview.com/index.php/database-sql/cardinality-versus-selectivity/Может кто-нибудь объяснить мне значение поля ВЫБОРНОСТЬ по отношению к Кардинальности?

, но до сих пор реально не утонуть в.

так скажем, мы имеем 993 записи, и мощность 13, что означает, что есть 13 уникальных/возможных значений из 993 записей. Его выборность составляет 0,0130 или 1,3% вправо?

Теперь, что означает 1,3%? Все, что я знаю, тем хуже, и более высокая избирательность лучше означает более уникальные значения, а оптимизатор SQL-движка счастлив. НО, как я могу объяснить 1,3%?

1.3% of ??? Когда я выбираю строку, изменчивость составляет всего 1,3% из 13 возможных записей?

Извините, прошло 20 лет, так как у меня были классы стата.

ответ

1

1.3% всех строк в таблице, но вы сбиваете с толку, рассматривая его как процент.

Когда вы запрашиваете таблицу, вы хотите как можно быстрее добраться до соответствующих строк. База данных должна выбрать, для какого индекса сначала искать, и вы хотите, чтобы этот индекс возвращал как можно меньший набор строк, с соответствующими строками внутри.

Представьте, что вы ищете Джона Смита, гитариста по ремонту на желтых страницах. Есть 10 000 имен, и у вас есть 2 варианта:

  • Просмотрите индекс Фамилия, где все фамилии сгруппированы по их первому символу. Это дает вам мощность 26, избирательность = 0,26%.
  • Просмотрите категорию «Ремонт гитары». В вашем городе 500 категорий бизнеса, поэтому мощность = 500, избирательность = 5%.

Если вы выберете первый индекс, вам необходимо выполнить поиск по S-группе, которая содержит в среднем 10 000/26 = 384,6 имен.

Если вы выберете второй указатель, вам придется искать в Guitar Repairers, который содержит в среднем 10 000/500 = 20 имен.

Очевидно, что категория бизнеса является лучшим индексом, чем Фамилия, потому что вы можете сузить диапазон поиска намного быстрее. Это все, что это означает, по избирательности: вы можете как можно быстрее добраться до нужных вам строк.

+0

Понятно, я понял. Спасибо, Zoff – user1465073

Смежные вопросы