B
Black Rabbit
Привет всем
Есть таблица, описывающая свойства продукции. Структура такая:
`pid` - int(10) - айди продукта
`oid` - int(10) - айди свойства
`value` - text - значение этого свойства
По ней необходимо организовать поиск, параметры поиска поступают как набор пар oid - value. Надо найти айди продукции, удовлетворяющие этому условию
Пример запроса:
select* from options_filled where (oid='26' and value='0') or (oid='29' and value>='10') or (oid='33' and value='0') group by oid,pid
Число записей - 119,232
Когда делаю индекс по полям (oid, value) - выборка идет за 0,2 сек
Если ставлю индекс только на oid - то за 0,39 сек
Без индексов - 0,15 сек
Если верить документации, первый вариант правильный
Как следует расставить индексы, чтобы поиск шел максимально эффективно?
Есть таблица, описывающая свойства продукции. Структура такая:
`pid` - int(10) - айди продукта
`oid` - int(10) - айди свойства
`value` - text - значение этого свойства
По ней необходимо организовать поиск, параметры поиска поступают как набор пар oid - value. Надо найти айди продукции, удовлетворяющие этому условию
Пример запроса:
select* from options_filled where (oid='26' and value='0') or (oid='29' and value>='10') or (oid='33' and value='0') group by oid,pid
Число записей - 119,232
Когда делаю индекс по полям (oid, value) - выборка идет за 0,2 сек
Если ставлю индекс только на oid - то за 0,39 сек
Без индексов - 0,15 сек
Если верить документации, первый вариант правильный
Как следует расставить индексы, чтобы поиск шел максимально эффективно?