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




MySQL.RU - Webboard



Вернуться
Помогите построить запрос MYSQL (Сергей) 29/09/2008 - 17:08:46
      Re: Помогите построить запрос MYSQL (Антон) 29/09/2008 - 17:35:59
      Re: Помогите построить запрос MYSQL (bac) 30/09/2008 - 01:18:32



From: Сергей - 29/09/2008 - 17:08:46
Subject:Помогите построить запрос MYSQL
-----------------
Хостер отключил сайт за перегруз базы данных.
Сам я программист PHP. Но сейчас столкнулся с проблемой в MYSQL.
Требуется проконсультировать по очень проблемному
запросу.

Есть две таблицы pictures и categories.
В первой 3500 записей, во второй около 30.

Делается запрос картинки, плюс сразу же
предыдущей и следующей из этой же категории.

И того, хостер говорит, что просматривается более
100 ТЫСЯЧ строк. И отключил меня.


ВОТ САМА ПРОБЛЕМА

Проблемный запрос

Время исполнения, секунд - 15
Кол-во просмотренных строк - 189104
Запрос:
-------
use 1gb_supertest4;
SELECT P.*, max(Prev.id_pic) as prev, min(Next.id_pic) as next FROM
pictures P
LEFT JOIN pictures Prev on (Prev.category_ind=P.category_ind
and Prev.id_pic<P.id_pic)
LEFT JOIN pictures Next on (Next.category_ind=P.category_ind
and Next.id_pic>P.id_pic)
WHERE P.id_pic='4154' GROUP BY P.category_ind;



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

CREATE TABLE `categories` (
`category_ind` int(11) NOT NULL auto_increment,
`category_name` varchar(30) NOT NULL default '',
`category_title` varchar(30) NOT NULL default '',
`category_desc` text NOT NULL,
`num` int(16) default '0',
`loads` int(16) default '0',
PRIMARY KEY (`category_ind`)
)


CREATE TABLE `pictures` (
`id_pic` int(11) NOT NULL auto_increment,
`category_ind` int(11) NOT NULL default '0',
`category_name` varchar(30) NOT NULL default '',
`file_name` varchar(30) NOT NULL default '',
`name_pic` varchar(30) NOT NULL default '',
`description` text NOT NULL,
`added_by` varchar(30) NOT NULL default '',
`type` int(11) NOT NULL default '0',
`loads` int(16) default '0',
`total_loads` int(11) NOT NULL default '0',
`time` int(11) NOT NULL default '0',
PRIMARY KEY (`id_pic`),
KEY `category_ind` (`category_ind`),
KEY `type` (`type`),
KEY `added_by` (`added_by`)
)



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

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

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



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