Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Базы данных »   Любопытная ситуация с индексами
RSS
Реклама: Справочник агентств недвижимости: база недвижимости москвы. Купите квартиру в готовом доме.

Любопытная ситуация с индексами

Введение индекса существенно замедлило работу

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: wsxПечать
 
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3031
Рейтинг пользователя: 75





Дата регистрации на форуме:
29 сен. 2001
Есть у меня в таблице Posts поле p__premoderate, имеющее тип tinyint и принимающее значения 0 и 1. Оно отвечает за то, находится ли сообщение на премодерации или нет. Поскольку такая проверка используется очень часто в самых разнообразных ситуациях, я решил сделать по этому полю неуникальный индекс.
К моему удивлению, это привело к прямо противоположному результату: время выборки с 0.4-0.5с с увеличилось до 8.5 с. Я долго не мог понять, почему такое происходит...
Как оказалось, нужно было просто провести переоптимизацию таблицы с помощью команды OPTIMIZE TABLE. После этого время выборки уменьшилось где-то до 0.2 с.
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3031
Рейтинг пользователя: 75





Дата регистрации на форуме:
29 сен. 2001
Как выяснилось, добавлять p__premoderate в виде отдельного поля было бессмысленно (равно как на любое другое поле, принимающее всего 2 значения). Сегодня вычитал следующее:
[q]
Mysql не просматривает индекс, если значение встречается более чем в 30% записей
[/q]

В итоге, добавил это поле к индексу по теме (т.к. почти во всех запросах используется и то, и другое) и все стало Ok.
---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
<<Назад  Вперед>>Модератор: wsxПечать
Объединенный Открытый Проект »   Базы данных »   Любопытная ситуация с индексами
RSS
Быстрый переход в раздел:
Реклама: Лучшие цены на виллы на Лазурном берегу Франции и квартиры в Париже


Время выполнения скрипта: 0.8218. Количество выполненных запросов: 17, время выполнения запросов 0.2996
Rambler's Top100