Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Оптимизация SELECT


Автор: Bekass 13.11.2008, 15:35
Есть запрос 
Код

SELECT DISTINCT company.* FROM (company ,company_catalog_list,catalog) 
WHERE (company_catalog_list.id_company=company.id_company AND             catalog.id_catalog=company_catalog_list.id_catalog AND MATCH (name_catalog) 
                 AGAINST ('ХХХ*' IN BOOLEAN MODE)  )  
OR  MATCH (name_company,name_company2,  lname_company,brand_company)
                 AGAINST ('ХХХ*' IN BOOLEAN MODE) "; 

 
но  выполняться  даже на маленькой оч. медленно 1.2с.
Подскажите как оптимизировать запрос, ожидается большая таблица с данными
 
Таблица 
Код

CREATE TABLE `company` (
  `id_company` int(11) NOT NULL auto_increment,
  `id_user` int(11) default NULL,
  `id_global_form_company` int(11) default NULL,
  `id_community` int(11) default NULL,
  `name_company` char(255) default NULL,
  `name_company2` char(255) default NULL,
  `lname_company` char(255) default NULL,
  `brand_company` char(111) default NULL,
  `fname_company2` char(111) default NULL,
  
 ...

  PRIMARY KEY  (`id_company`),
  KEY `companyid_global_form_company` (`id_global_form_company`),
  KEY `id_community` (`id_community`),
  KEY `id_company` (`id_company`),
  KEY `id_global_city` (`id_global_city`),
  KEY `id_user` (`id_user`),
  KEY `num_person_company` (`num_person_company`),
  FULLTEXT KEY `name_company` (`name_company`,`name_company2`,`lname_company`,`brand_company`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


Автор: sir_nuf_nuf 13.11.2008, 17:12
EXPLAIN SELECT и описания таблиц в студию!

Автор: Akina 13.11.2008, 17:22
Цитата(Bekass @  13.11.2008,  16:35 Найти цитируемый пост)
Есть запрос 

Поправь постинг, используя тег "Код" и смысловое разбиение текста запроса по строкам. 

Автор: Bekass 13.11.2008, 18:11
Отредактировал , смотрите 

Автор: skyboy 13.11.2008, 19:37
Bekass, так где explain?

Автор: Бонифаций 14.11.2008, 03:40
Обьясните мне, зачем у Вас скобки вокруг списка таблиц в from ?

Автор: Bekass 16.11.2008, 13:29
так где explain? 
ВОТ ТУТ 


1    SIMPLE    catalog             ALL      PRIMARY,id_catalog    NULL    NULL    NULL    36    Using temporary
1    SIMPLE    company_catalog_list    ALL    company_catalog_listid_company,catalogcompany_cata...    NULL    NULL    NULL    39     
1    SIMPLE    company                   ALL    PRIMARY,id_company    NULL    NULL    NULL    29    Using where

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)