|
|
|
| Есть такой запрос:
SELECT id from item_drop WHERE `min_s`<=FLOOR(`min_s` + (RAND() * `max_s`-`min_s`)) && `min_l`<='20' && `max_l`>='20' order by RAND() LIMIT 1
|
Стурктура таблицы
CREATE TABLE IF NOT EXISTS `item_drop` (
`id` int(5) NOT NULL default '0',
`min_s` smallint(5) NOT NULL default '1',
`max_s` mediumint(5) NOT NULL default '1',
`min_l` tinyint(2) NOT NULL default '1',
`max_l` tinyint(2) NOT NULL default '1',
PRIMARY KEY (`id`),
KEY `min_s` (`min_s`,`max_s`,`min_l`,`max_l`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
При тестировании EXPLAIN'ом выдает невозможно использовать ключ, хотя ключ определяет... Не подскажите как изменить свой запрос, чтобы ключ использовался? А то запросов очень много к данной табличке, возникают тормоза, хотя данный запрос выполняется до 0.001 секунды "на холостую". | |
|
|