сортировка больших таблиц

Korner

Новичок
сортировка больших таблиц

Есть таблица, порядка 150000 записей.
делаю запрос
SELECT ............. WHERE cat=19222 ORDER BY name, price LIMIT 10
за 30 секунд даже не укладывается(
подскажите подуласта, как быть в таких случаях? поставил индексы на поля name, price , не помогло.

-~{}~ 26.07.06 14:44:

да, без ORDER BY вполне терпимо.. за пару секунд отрабатывает
 

Korner

Новичок
индексы ставил, может нужнв какенить специальные индексы?
 

Фанат

oncle terrible
Команда форума
нет.
это называется не "специальные" индексы, а осмысленные.
то есть, не наобум лазаря "а поставлю-ка я индекс", а со смыслом.

что значит - "ставил"?
результаты , которые ты приводишь - это с индексами или без?
из чего ты исходил, когда ставил индексы, и к чему пришёл в результате?
 

Korner

Новичок
стоят индексы

Table|Non_unique|Key_name|Seq_in_index|Column_name|Collation|Cardinality|Sub_part|Packed Null |Index_type |Comment
items 1 price 1 price A 5493 NULL NULL BTREE
items 1 name 1 name A 68673 NULL NULL BTREE

с ними сортировка по name и price не успевате за 30 сек.
в запросе есть where
когда под это условие попадает около 1000 рядов, терпимо работает
около 5000 рядов, нетерпимо)
 

flash-vkv

Новичок
кушай EXPLAIN (в будушем избавит тебя от таких вопросов)
а в данном случии нужен составной индекс по полям cat, name, price
 

Фанат

oncle terrible
Команда форума
Korner
у тебя идёт выборка по полю cat
тебе не кажется, что индекс мог бы помочь?
 
Сверху