Индексы в базе. Что вы про них знаете?

Индексы в базе. Что вы про них знаете?

Что это такое?

Для чего они нужны?

Как они работают?

Почему не достаточно индексов на id-полях.

Почему без денормализации базы и изменения структуры запросов в некоторых ситуациях индексы бессильны?

Расскажите что вы знаете про это?

Хуйнаныр(6)Очко(3)

Запостить высер

Стучать мне на мыло
avatar

Сортировать:   Свежие | Тухлые | Хуйнанырные
Nameless
робот-вертер
Nameless
1 месяц 8 дней назад

Знаем мало, каемся… Далеко не к каждому полю они нужны в ОКбазе, были экскременты по твоей статье 2х летней давности кажись по этому поводу

Андрей
робот-вертер
Андрей
1 месяц 7 дней назад

Лес тёмный…

Index мастер
робот-вертер
Index мастер
1 месяц 7 дней назад

Я так понимаю, что и вы ни чего не понимаете в индексах, раз спрашиваете.
А про денормализацию базы это к марку.. Он вам расскажет о гении даниелея.

Waha
робот-вертер
Waha
1 месяц 7 дней назад

Наверняка Вы ошибаетесь)) Это такой подогрев публики, что бы дать полезную информацию =)

nikifalex
робот-вертер
nikifalex
1 месяц 6 дней назад

донормализация буквально творит чудеса быстродействия. Еще бы вменяемые триггеры в mysql чтоб без крона или лишнего кода обходиться.

SooR
робот-вертер
SooR
1 месяц 6 дней назад

Хотелось бы знать больше.
Основные правила по индексам для меня это:

1. Много индексов = большой объем таблицы = плохо
2. Индексы для tinyint(1) = неэффективно
3. Индексы для varchar при большом количестве записей = большой объем = неэффективно
4. Составные индексы использовать только в крайних случаях
5. Первым полем в составном индексе должно быть то, по которому ищем отдельно
6. PK обязателен
7. Составной PK = плохо

Ну а дальше — все зависит от запросов, полей таблиц, их объема и так далее.
Мое мнение таково, что невозможно заранее указать все индексы.
Это, как и процесс моделирования всей БД, приходит в процессе разработки/отладки.

markimax
робот-вертер
markimax
1 месяц 5 дней назад

Много индексов плохо не потому что места жрут
А потому что оптимизатор MySQL может выбрать (попросту запутаться) «неудачный» индекс для запроса
В итоге можно словить конкретный тормоз на «ровном» месте даже с кучей индексов

Waha
робот-вертер
Waha
1 месяц 6 дней назад

Я почитываю ruhighload)) И многое становиться яснее и понятнее
— Индексы не нужны в каждой таблице (если к ней запрос раз в неделю, то и подавно)
— лишние индексы нужно удалять
InnoDB медленнее работает с простыми индексами в отличии от MyISAM
InnoDB лучше при точной выборке, в случаях же в COUNT(*), SELECT * FROM быстрее отработает MyISAM
Ну и оценить пользу индексов можно реально на проектах от 5-10к+ товаров и хорошей посещалкой…
А при тесте 1 юзера на локалке.. отличий практически нету

вот как понял так и написал ))

Денис
робот-вертер
Денис
1 месяц 5 дней назад

Хотелось бы услышать про боль с вариантами товаров.

wpDiscuz