SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 28.09.2009 09:33:15

smallhacker
Участник
Зарегистрирован: 10.09.2009
Сообщений: 9

Можно ли оптимизировать запрос ?

Структура таблиц



--
-- Структура таблицы `dec_group`
--

CREATE TABLE dec_group (
  id int(6) unsigned NOT NULL auto_increment,
  `name` varchar(150) collate utf8_bin default NULL,
  id_parent int(6) unsigned default NULL,
  PRIMARY KEY  (id),
  KEY `name` (`name`),
  KEY id_parent (id_parent)
)

-- --------------------------------------------------------

--
-- Структура таблицы `declaration`
--

CREATE TABLE declaration (
  id int(6) unsigned NOT NULL auto_increment,
  title varchar(180) collate utf8_bin default NULL,
  `data` date default NULL,
  tex text collate utf8_bin NOT NULL,
  user_id int(6) unsigned default NULL,
  group_id int(6) unsigned default NULL,
  PRIMARY KEY  (id),
  KEY user_id (user_id),
  KEY group_id (group_id),
  FULLTEXT KEY tex (tex)
)

-- --------------------------------------------------------

--
-- Структура таблицы `users`
--

CREATE TABLE users (
  id bigint(20) NOT NULL auto_increment,
  login varchar(40) collate utf8_bin default NULL,
  email varchar(255) collate utf8_bin NOT NULL,
  pass varchar(255) collate utf8_bin NOT NULL,
  question int(11) default NULL,
  ansq varchar(255) collate utf8_bin NOT NULL,
  date_reg date NOT NULL,
  last_d datetime NOT NULL,
  PRIMARY KEY  (id),
  KEY login (login)
)

 


Сам запрос



select `declaration`.id, `declaration`.title, `declaration`.data, `declaration`.tex, `declaration`.user_id, `users`.login, `declaration`.group_id from `declaration` LEFT JOIN `users` ON `users`.id = `declaration`.user_id LEFT JOIN `dec_group` ON `dec_group`.id = `declaration`.group_id where `dec_group`.id in (61, 73, 62, 78, 199, 202, 201, 76, 75, 200, 198, 203, 65, 63, 66, 64, 70, 72, 68, 69) limit 0,5

 


Дело в том, что при наличии в трёх таблицах записей:

declaration: 200000 зап.
dec_group: 210 зап.
users: 2000 зап.

Запрос выполняется 0.1 сек. Можно быстрее?

Неактивен

 

#2 28.09.2009 11:05:49

smallhacker
Участник
Зарегистрирован: 10.09.2009
Сообщений: 9

Re: Можно ли оптимизировать запрос ?

Вопрос снят. Всё решилось натройкой MySQL теперь время выполнения 0.03.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson