![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
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
Как можно оптимизировать данный запрос?
Неактивен

Нее, такой запрос — это то, что Вы ищете ![]()
Вы обречены полностью сканировать всю таблицу, потому что LIKE '%…%' и
SQL_CALC_FOUND_ROWS. Имеет смысл сделать полнотекстовый индекс.
Неактивен
Что вы имеете ввиду под "полнотекстовый индекс"? Индекс по rus_name ? он есть
Неактивен

Нет. FULLTEXT индекс
http://dev.mysql.com/doc/refman/5.1/en/ … earch.html
Неактивен
ааа. можно было и без ссылки. по анг названию сразу ко мне дошло что нужно)
Спасибо
Отредактированно WebGraf (24.08.2010 13:05:26)
Неактивен