SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 24.08.2010 04:12:33

WebGraf
Участник
Зарегистрирован: 18.05.2010
Сообщений: 4

оптимизация запроса с LEFT JOIN

Код:

SELECT SQL_CALC_FOUND_ROWS `t1`.`id`,
        `t1`.`dir`,
        `t1`.`dir_count`,
        `t1`.`path`,
        `t1`.`infolder`,
        `t1`.`rus_name` AS `name`,
        `t1`.`size`,
        `t1`.`loads`,
        `t1`.`timeupload`,
        `t1`.`yes`,
        `t1`.`no`,
        `t2`.`id` AS `back`
        FROM `files` AS `t1`
        LEFT JOIN `files` AS `t2` ON `t2`.`path` = `t1`.`infolder`
        WHERE `t1`.`rus_name` LIKE "%Дорога в ад%" AND `t1`.`hidden` = "0"
        LIMIT 0, 9;

EXPLAIN
id     select_type     table     type     possible_keys     key     key_len     ref     rows     Extra
1     SIMPLE     t1     ALL     NULL     NULL     NULL     NULL     780768     Using where
1     SIMPLE     t2     eq_ref     path     path     767     kreowap_kreoseo.t1.infolder     1     

Как можно оптимизировать данный запрос?

Неактивен

 

#2 24.08.2010 12:29:28

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: оптимизация запроса с LEFT JOIN

Нее, такой запрос — это то, что Вы ищете wink

Вы обречены полностью сканировать всю таблицу, потому что LIKE '%…%' и
SQL_CALC_FOUND_ROWS. Имеет смысл сделать полнотекстовый индекс.

Неактивен

 

#3 24.08.2010 12:48:02

WebGraf
Участник
Зарегистрирован: 18.05.2010
Сообщений: 4

Re: оптимизация запроса с LEFT JOIN

Что вы имеете ввиду под "полнотекстовый индекс"? Индекс по rus_name ? он есть

Неактивен

 

#4 24.08.2010 12:55:35

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: оптимизация запроса с LEFT JOIN

Неактивен

 

#5 24.08.2010 13:05:03

WebGraf
Участник
Зарегистрирован: 18.05.2010
Сообщений: 4

Re: оптимизация запроса с LEFT JOIN

ааа. можно было и без ссылки. по анг названию сразу ко мне дошло что нужно)
Спасибо

Отредактированно WebGraf (24.08.2010 13:05:26)

Неактивен

 

Board footer

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