Поддерживают ли индексы производительность запросов при добавлении дополнительных данных? - PullRequest
0 голосов
/ 07 января 2012

Сегодня спросили, как наши запросы на чтение могут быть затронуты увеличением ~ 1 000 000 строк. Запросы сильно проиндексированы и очень быстрые ~ 1 мс. Правда ли, что поскольку у нас есть индексы, производительность запросов должна оставаться относительно одинаковой независимо от того, сколько новых данных мы добавляем? Это просто, что размер индекса на диске будет продолжать расти? Может кто-нибудь объяснить?

Спасибо.

1 Ответ

1 голос
/ 07 января 2012

Ваш вопрос слишком общий;трудно ответить, не видя фактических запросов и структуры таблицы.

Существуют запросы, которые могут привести к полному сканированию таблицы, несмотря на то, что таблица индексируется (например, запросы, содержащие условие LIKE).Есть также запросы, которые обычно используют индекс.Кроме того, в зависимости от статистики, собранной вашей СУБД, он может решить, что использование индекса более неэффективно, чем простое сканирование всей таблицы, в результате чего ваш индекс игнорируется.

Итак, индексы могут значительно улучшитьвыполнение некоторых запросов, в то время как другие могут найти их неэффективными и игнорировать их.Если ваши запросы относятся ко второму типу, то увеличение объема данных в таблице определенно увеличит время выполнения запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...