Оптимизация SELECT - выборка по строковому параметру

optipav

Новичок
Здравствуйте!
Исходные данные:
есть таблица MyISAM, 500 000 записей
столбец PROPERTY_94 char(32)
Делается запрос вида:

PHP:
select ID from table where PROPERTY_94='9837-476-392658-1581244' limit 1
запрос выполняется около 0,4 сек
Есть ли возможность ускорить выполнение этот запрос?
 

DiMA

php.spb.ru
Команда форума
сделай столбец bigint (64 бита), на него индекс

а... или ты вообще никакого индекса еще не сделал? .-)
 

optipav

Новичок
Спасибо за ответ
нет, индекс не добавлял, т.к. очень критично время вставки, в сутки добавляется около 100 тыс новых и удаляются старые (просроченные по дате)
Попробую сменить тип на bigint (64 бита)
Есть ли еще способы?
 

Gas

может по одной?
Что касается индексов, как-то все с ними носятся - не добавлю индекс, а то медленнее вставка будет, насколько медленнее никто не проверяет, а просто носятся с догмой прочитанной/услышанной когда-то.
Проведи тесты и померяй. У меня в многомилионные таблицы идут вставки сотнями тысяч и в этих таблицах (о Боже) есть по несколько индексов, при их удалении корость insert'ов практически не меняется.

Конечно всё зависит от всего и в каждой конкретной ситуации по разному бывает, но думать то своей головой тоже нужно, а не только догмами жить.

Добавить частичный индекс на первые 5 символов, например. Но если у тебя столбцы 1..93, то я бы сильно задумывался над пеерделкой схемы данных.
 
Сверху