|
|
|
|
|
для: .
(11.07.2009 в 00:51)
| | Т.е. получается, что при запросе
Select * FROM table WHERE user_id = 1 AND game_id = 1
|
Если у меня есть 2 индекса: user_id и game_id. То будет работать быстрее, чем у меня один индекс на 2 поля (user_id,game_id) ? почему так? | |
|
|
|
|
автор: . (11.07.2009 в 00:51) |
|
|
для: FaStY
(10.07.2009 в 23:59)
| | Перед использованием какой-то штуки надо прочитать как ей пользоваться. В rows содержится количество рядов, которое MySQL необходимо проверить, чтобы вернуть ответ. Очевидно, что второй случай лучше. | |
|
|
|
|
|
|
| Подскажите, у меня есть таблица-связка, где показываются игры сыгранные пользователем. подскажите, мне индекс создавать по каждому полю (user_id и game_id), или делать общий индекс на оба эти поля? Вот я провел эксперимент через explain сделал выборку
id selext type table type possible_keys key key_len ref rows Extra
1 SIMPLE table ref user_id,game_id,user_id_2 user_id_2 10 const,const 240 Using where
1 SIMPLE table index_merge user_id,game_id user_id,game_id 5,5 null 6 Using intersect(user_id,game_id); Using where
|
по скорости оба запроса однинаковые (походу просто закэшировалось)
Объясните пожалуйста, почему во втором случае выводится row 6, хотя если я убираю explain у меня показывает 240 рядов.
Заранее спасибо. | |
|
|
|
|