| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > оптимизация order by... |
| Автор: sergey_85 5.1.2012, 08:43 | ||||
| Привет! Как можно оптимизирвать этот запрос, очееень долго выполняется
хотя этот за пару секунд
id - primary index asc price - index asc |
| Автор: Akina 5.1.2012, 20:24 |
| explain запросов дайте... |
| Автор: sergey_85 9.1.2012, 02:15 | ||||
|
| Автор: Goganchic 9.1.2012, 07:52 |
| рискну предположить что у вас слишком много строк (более 50%) с одинаковой ценой, поэтому индекс получается низкоселективный и поэтому MySQL его не использует, из-за чего случается filesort, который приводит к тормозам |
| Автор: Akina 9.1.2012, 21:50 |
| Один запрос выбирает по индексу, а второй прямым просмотром... стОит ли удивляться разнице во времени? |
| Автор: sergey_85 10.1.2012, 02:10 |
| есть предложения как побороть? |
| Автор: Akina 10.1.2012, 07:33 |
| Создать необходимый индекс. |
| Автор: Zloxa 10.1.2012, 11:45 |
| индекс, я так понял уже есть, его надо просто http://dev.mysql.com/doc/refman/5.1/en/index-hints.html. |
| Автор: sergey_85 13.1.2012, 05:46 | ||||
| да есть у меня индексы и были они .... 'tbl_stellbeton', '0', 'PRIMARY', '1', 'id', 'A', '102939', NULL, NULL, '', 'BTREE', '', '' 'tbl_stellbeton', '1', 'idx_price', '1', 'price', 'A', '102939', NULL, NULL, 'YES', 'BTREE', '', '' еще таже самая проблема с where долго
быстро
ps: mysql version - '5.5.13' данных в таблице ОЧЕНЬ много! |
| Автор: Zloxa 13.1.2012, 08:40 |
индексы мало есть. Их надо еще использовать. Хинт прописывать пробовали? |
| Автор: sergey_85 14.1.2012, 05:58 | ||
разве оптимизатор сам не определяет где и как исп. индексы... |
| Автор: Zloxa 14.1.2012, 07:47 |
| Goganchic выдвинул вполне правдоподобную версию почему оптимизатор этого не делает. |