Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Оптимизация запроса-выборки (Алексей) 20/08/2006 - 22:29:22
      Re: Оптимизация запроса-выборки (Алексей) 21/08/2006 - 14:29:44

> Original message text:
> From: Алексей - 20/08/2006 - 22:29:22
> Subject:Оптимизация запроса-выборки
> -----------------
> Здравствуйте.
>
> У меня возникла проблема оптимизации запроса выборки данных из двух MyISAM таблиц.
>
> Таблица 1:
> CREATE TABLE `table_1` (
> `id` mediumint(8) unsigned NOT NULL auto_increment,
> `p_id` mediumint(8) unsigned NOT NULL default '0',
> `name` varchar(250) NOT NULL default '',
> `ord` mediumint(8) unsigned NOT NULL default '0',
> `valid` smallint(1) unsigned NOT NULL default '0',
> PRIMARY KEY (`id`),
> KEY `valid_ord` (`valid`,`ord`),
> KEY `p_id` (`p_id`)
> );
>
> Таблица 2:
> CREATE TABLE `table_2` (
> `id` mediumint(8) unsigned NOT NULL auto_increment,
> `p_id` mediumint(8) unsigned NOT NULL default '0',
> `name` varchar(250) NOT NULL default '',
> PRIMARY KEY (`id`),
> KEY `p_id` (`p_id`),
> KEY `name` (`name`)
> );
>
> Собственно запрос:
> SELECT `table_1`.`id`, `table_1`.`p_id`, `table_1`.`name`, `table_2`.`name` FROM `table_1` LEFT JOIN `table_2` ON `table_1`.`p_id`=`table_2`.`id` WHERE `table_1`.`valid`='1' ORDER BY `table_1`.`ord` DESC LIMIT 12
>
> EXPLAIN запроса:
> id select_type table type possible_keys key key_len ref rows Extra
> 1 SIMPLE table_1 range valid_ord valid_ord 2 NULL 1214 Using where
> 1 SIMPLE table_2 eq_ref PRIMARY PRIMARY 3 table_1.p_id 1
>
>
> Неужели нельзя добиться лучшего результата?
>


From: Алексей - 21/08/2006 - 14:29:44
Subject:Оптимизация запроса-выборки
-----------------
Если убрать лимит в 12 строк, то тип связывания превращается bp range в ALL..


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
29525



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |