AndreyKl
Новичок
Запрос выполняется слишком долго. Оптимизация запроса.
Здравствуйте, уважаемое сообщество.
Вот возникла проблема. Запрос выполняется слишком долго.
Записей в таблице около 100 000 (судя по динамике, нужно расчитывать примерно на 1-2 миллиона). Время выполнения запроса около 0,4 секунды. Если убрать ORDER BY, то время уменьшается на несколько порядков (оно и ясно...) (0,01 секунды). Большинство обращений - именно к этой таблице. И если поиск (это поисковый запрос) происходит слишком часто, то сайт отвечает медленно
. Что предпринять для уменьшения времени выполнения запроса?
MySQL 5.0
Запрос
Структура таблицы
Здравствуйте, уважаемое сообщество.
Вот возникла проблема. Запрос выполняется слишком долго.
Записей в таблице около 100 000 (судя по динамике, нужно расчитывать примерно на 1-2 миллиона). Время выполнения запроса около 0,4 секунды. Если убрать ORDER BY, то время уменьшается на несколько порядков (оно и ясно...) (0,01 секунды). Большинство обращений - именно к этой таблице. И если поиск (это поисковый запрос) происходит слишком часто, то сайт отвечает медленно

MySQL 5.0
Запрос
PHP:
SELECT
pictures.name,
pictures.title,
pictures.date,
DATE_FORMAT(pictures.date,'%b %D %Y') as vidDate,
pictures.user,
pictures.id_picture,
pictures.views,
pictures.album
FROM
pictures
WHERE
(pictures.title LIKE '%cars%' OR pictures.description LIKE '%cars%')
AND pictures.public=1 AND activ=1
ORDER BY
date DESC
LIMIT 0, 40
PHP:
CREATE TABLE `pictures` (
`id_picture` int(11) NOT NULL auto_increment,
`name` varchar(31) collate utf8_unicode_ci NOT NULL,
`title` varchar(63) collate utf8_unicode_ci NOT NULL,
`description` varchar(510) collate utf8_unicode_ci NOT NULL,
`user` int(11) NOT NULL,
`public` tinyint(1) NOT NULL,
`activ` tinyint(1) NOT NULL default '1',
`date` datetime NOT NULL,
`code` mediumblob NOT NULL,
`album` int(11) NOT NULL,
`views` int(11) NOT NULL,
PRIMARY KEY (`id_picture`),
KEY `public` (`public`),
KEY `activ` (`activ`),
KEY `title` (`title`),
KEY `name` (`name`),
KEY `user` (`user`),
KEY `date` (`date`),
KEY `album` (`album`),
KEY `views` (`views`),
KEY `description` (`description`(333))
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=97961 ;