|
|
|
оптимизация...оптимизация
|
|||
|---|---|---|---|
|
#18+
Проблема: есть запрос, который медленно работает. Связывается несколько таблиц + order by + asc + limit: select product.supplier_id, product.catid, product.product_id, product.prod_id, product.user_id from category, product, users, supplier where supplier.supplier_id = product.supplier_id and category.catid = product.catid and users.user_id = product.user_id order by product.prod_id asc limit 0,20 с ключами я уже наигрался, но проблема в том, что судя по EXPLAIN mysql эти ключи не использует...как заставить mysql использовать клучи(use index не помогает). И еще, без order by работает гораздо быстрее, ясно, что без использования индексов mysql приходится использовать use sorting...как можно боротся с order by? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2005, 15:10 |
|
||
|
оптимизация...оптимизация
|
|||
|---|---|---|---|
|
#18+
Ну так и надо было привести, что EXPLAIN пишет, и что за ключи "наиграны"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2005, 15:15 |
|
||
|
оптимизация...оптимизация
|
|||
|---|---|---|---|
|
#18+
primary keys для supplier - supplier_id для category - catid для users - user_id ключи для product: primary key - product_id index(supplier_id), index(catid), index(user_id), index(prod_id) index(supplier_id, user_id, catid) (name catid_2) и пробывал др. комбинации сложных ключей...все тот же результат( explain: +----------+--------+-----------------------------------+----------+---------+---------------------+------+---------------------------------+ | table | type | possible_keys | key | key_len | ref | rows | Extra | +----------+--------+-----------------------------------+----------+---------+---------------------+------+---------------------------------+ | category | ALL | PRIMARY, | NULL | NULL | NULL | 827 | Using temporary; Using filesort | | product | ref | supplier_id,user_id,catid,catid_2 | catid | 4 | category.catid | 195 | | | users | eq_ref | PRIMARY | PRIMARY | 4 | product.user_id | 1 | | | supplier | eq_ref | PRIMARY | PRIMARY | 4 | product.supplier_id | 1 | | +----------+--------+-----------------------------------+----------+---------+---------------------+------+---------------------------------+ 5 rows in set (0.00 sec) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2005, 15:40 |
|
||
|
оптимизация...оптимизация
|
|||
|---|---|---|---|
|
#18+
А документация по поводу использования ключей для сортировки etc. читалась ли? Потому как тупо пихать сюда цитаты cut&paste'ом смысла не вижу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2005, 18:48 |
|
||
|
оптимизация...оптимизация
|
|||
|---|---|---|---|
|
#18+
И это... Что этот запрос, по идее, должен делать? Как-то странно он выглядит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2005, 19:32 |
|
||
|
оптимизация...оптимизация
|
|||
|---|---|---|---|
|
#18+
да, умница , документации читались. запрос реальный с реальной системы электронной коммерции. проблема уже решена. а cut&paste я вставил по твоей же, умница, просьбе мог бы не утруждать себя написанием ответов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2005, 21:24 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32854834&tid=1854458]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 498ms |

| 0 / 0 |
