Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите.
есть 2 таблицы.
ent и ent_order, предприятия и порядок_предприятий соответсвенно.
выполняю вот такой запрос
explain select * from ent,ent_order where ent_order.ent_id=ent.id
and concat_ws(' ',nam,typ,obl,zip,city,addr,code,tel,email,url,biz) like "%работы%"[
and dat<='2011-03-14'
and avail='1'
order by banner, avr_mark
есть filesort
если убираю order by banner, avr_mark
filesort исчезает.
по обоим полям banner и avr_mark есть индексы.
помогите, пожалуйста.
заранее спасибо.
Неактивен
Результат эксплэйна приведите, а также show create table для обеих таблиц.
Неактивен
да, конечно
CREATE TABLE `ent` (
`id` int(7) NOT NULL auto_increment,
`dat` date NOT NULL,
`nam` varchar(255) NOT NULL,
`typ` varchar(255) NOT NULL,
`obl` varchar(100) NOT NULL,
`zip` varchar(20) NOT NULL,
`city` varchar(100) NOT NULL,
`addr` varchar(255) NOT NULL,
`code` varchar(100) NOT NULL,
`tel` text,
`email` varchar(200) NOT NULL,
`url` varchar(100) NOT NULL,
`biz` text NOT NULL,
`addit` text NOT NULL,
`addit2` text NOT NULL,
`avail` int(1) NOT NULL default '1',
`url_name` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `url_name` (`url_name`),
KEY `nam` (`nam`)
) ENGINE=MyISAM AUTO_INCREMENT=48682 DEFAULT CHARSET=cp1251
CREATE TABLE `ent_order` (
`ent_id` int(7) NOT NULL,
`avr_mark` float NOT NULL,
`banner` int(2) NOT NULL,
PRIMARY KEY (`ent_id`),
KEY `avr_mark` (`avr_mark`),
KEY `banner` (`banner`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE ent_order ALL PRIMARY NULL NULL NULL 46702 Using filesort
1 SIMPLE ent eq_ref PRIMARY PRIMARY 4 bizbyru_1.ent_order.ent_id 1 Using where
вот, посмотрите пож-та
Неактивен
Попробуйте:
Неактивен
да, помогло. спасибо.
а, попробовал выполнить вот такой запрос и снова получаю filesort
EXPLAIN SELECT *
FROM ent, ent_order
WHERE ent_order.ent_id = ent.id
ORDER BY banner DESC , avr_mark DESC, nam
я так понимаю, что в этом запросе ещё добавляется сортировка по полю nam, которое из таблицы ent
можно как-то избавиться от этого filesort?
Отредактированно dickens (14.03.2011 23:48:52)
Неактивен
dickens написал:
можно как-то избавиться от этого filesort?
Нет
Неактивен