Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с индексом
 
 автор: --Lex--   (05.11.2008 в 15:41)   письмо автору
 
 

Есть такой запрос:

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 секунды "на холостую".

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования