Demiurg
Guest
три поля - три индекса, все нормально )
можно еще составных наделать
можно еще составных наделать
Не... там же думать надо, цифирки вбивать (-:Автор оригинала: Demiurg
три поля - три индекса, все нормально )
можно еще составных наделать
А то! Куда ж мне, смертному до такого...Не... там же думать надо, цифирки вбивать (-:
CREATE TABLE customers (
serial int(11) DEFAULT '' NOT NULL auto_increment,
CustID int(11) ,
Item1 varchar (33) not null,
Item2 varchar (33) not null,
Touched datetime ,
PRIMARY KEY (serial),
UNIQUE serial (serial, Item1, Item2),
KEY serial_2 (serial, Item1, Item2)
);
ЭТО тоже бред ! 2 одинаковых индекса, потому как UNIQUE тоже создает индексUNIQUE serial (serial, Item1, Item2),
KEY serial_2 (serial, Item1, Item2)
тебе говорят:Индексы у тя жутко умные, может расскажеш зачем каждый из них нужен?
ты говоришь:Индексы действительно интересные. Моих мозгов явно не хватает понять, зачем нужна такая структура.
тебе говорят:2 fixxxer - послушай, а твоих мозгов хватит предположить, что это небольшая вырезанная часть дампа? И если такие индексы, то для чего-то они нужны. Немного вежливей отвечай, если можно.
ты говоришь:такие индексы не могут быть нужны.
ты говоришь:Я считаю, что такая комбинация индексов мне полезна. Если вы покажете несостоятельность сего действа, буде только благодарен вам.
ты умеешь отличать *иронию* от "доказывания своего превосходства"?чтоб вас не мучили догадки по поводу тех индексов - назовем это привычкой
не могу признать вопросом "зачем ты так делаешь". Потому как в начале просил не обращать на это внимание, уделив внимание интересующему вопросу. Мне говорятИндексы действительно интересные. Моих мозгов явно не хватает понять, зачем нужна такая структура.
НО не было сказано, ПОЧЕМУ. При всем уважении, пересмотрев документацию на эту тему, не смог найти случая, когда бы UNIQUE и KEY замедляли бы скорость выборки. Размер базы в моем случае не критичен, важна скорость. Небольшая выдержка из мануалатакие индексы не могут быть нужны.
Если данная таблица имеет многостолбцовый индекс, то любой крайний слева префикс этого индекса может использоваться оптимизатором для нахождения строк. Например, если имеется индекс по трем столбцам (col1,col2,col3), то существует потенциальная возможность индексированного поиска по (col1), (col1,col2) и (col1,col2,col3).
Согласен, такие случаи бывают. В моем случае таблица содержит порядка нескольких десятков тысяч записей со скоростью роста порядка 30000 в год. Думаю, полный перебор займет на порядок больше времени, чем индексация, причины которой я обосновал раннее. Также думаю, что движку не прийдеться перебирать более 30% индексов в общем случае (если не ошибаюсь, такие цифры приводились в мануале). Тут достаточно скользкая ситуация по поводу того, как быстрее будет база заводиться - с лишними индексами или без оных. Проверял на примере в 30000 записей. Замедления не заметил, а подозрения на увеличение скорости выборки с использованием медленных условий по типу LIKE есть.На поиск в индексе тоже тратится время, иногда оно больше, чем время простого перебора
Простите, а у вас в Эстонии часто думают? Может, я не поспеваю за вами?случай даже безнадежнее чем я думал.
судя по твоим постам, ты отстал от всех на несколько кругов, а тебе кажется, что бежишь самым первым.Автор оригинала: Найч
Простите, а у вас в Эстонии часто думают? Может, я не поспеваю за вами?