|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Ilya Kulagin 2:5020/871.18 10 Nov 2006 17:15:03 To : Eugene Grosbein Subject : mysqld -------------------------------------------------------------------------------- EG> И есть некоторые непонятки с использованием сервером индексов, EG> в частности индексы он не всегда использует, в зависимости от своих EG> "эвристических" оценок эффективности индекса иногда решает делать full EG> scan, что меня не устраивает. EG> Есть мысль проапгрейдить сервер, но будет ли толк? Вряд ли. Если индекс не используется из-за того, что устарела статистика, так любая версия мыскля обновляет статистику только при reorganize table, а это двойное место на диске и exclusive lock на всю таблицу на всё время переноса данных. Если индекс не используется из-за того, что в выборку (по оценке через статистику) попадает слишком много записей - так любой вообще сервер БД работает так же. Операция выборки записи по индексу нихрена не бесплатная (точнее, время её выборки оценивается как пропорциональное логарифму размера таблицы) и выбрать, например, четверть таблицы, пока она достаточно мала, дешевле seqscan-ом, чем по индексу. По времени дешевле. Точные коэффициенты пропорциональности и алгоритмы расчётов обычно намертво зашиты в оптимайзер запросов и слегка комментированы в документах по проектированию баз данных. Hе уверен, что в случае мыскля кто-то такие документы рисовал, я по информиксу сужу. Вот такие грустные мысли. Примите уверение в совершеннейшем к Вам почтении /kiv --- kiv@work [Престарелые алкоголики] [Иллюзорных судаков не существует!] * Origin: Moose 2:5020/871.18 (2:5020/871.18) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/397445547c48.html, оценка из 5, голосов 10
|