|
MySQL.RU - Webboard
Вернуться
Оптимизация запроса-выборки (Алексей) 20/08/2006 - 22:29:22
Re: Оптимизация запроса-выборки (Алексей) 21/08/2006 - 14:29:44
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
Неужели нельзя добиться лучшего результата?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
29525
|
|