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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Помогите с индексом

Сообщения:  [1-1] 

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

  Ответить  

Сообщения:  [1-1] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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