Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрос выполняется 14 секунд. Что в запросе я мог сделать неправильно?
 
 автор: Ильдар   (17.11.2008 в 13:26)   письмо автору
 
 

запрос:
SELECT `cat_product`.`id_prod`,
 `cat_product`.`name`, `cat_product`.`text`, `cat_product`.`date`,
`cat_product`.`page_parent`, `cat_razdel`.`par_razd`,
`cat_razdel`.`name_razd`,`cat_razdel`.`id_razd` , 
`cat_country`.`country_name` , `cat_proiz`.`proiz_name` ,
 `cat_image`.`image_name` 

            FROM `cat_united` 

            LEFT JOIN `cat_product` ON `cat_united`.`unit_product` = `cat_product`.`id_prod` 

            LEFT JOIN `cat_razdel` ON `cat_united`.`unit_razdel` = `cat_razdel`.`id_razd`

            LEFT JOIN `cat_country` ON `cat_country`.`id_country` = `cat_product`.`country` 

            LEFT JOIN `cat_proiz` ON `cat_proiz`.`id_proiz` = `cat_product`.`proiz` 

            LEFT JOIN `cat_image` ON `cat_image`.`image_parent` = `cat_product`.`id_prod`
            
            LEFT JOIN `ratings` ON `ratings`.`id` = `cat_product`.`id_prod`

            WHERE `cat_product`.`id_prod` IS NOT NULL 

            AND `cat_razdel`.`id_razd` IS NOT NULL 

            AND `cat_country`.`id_country` IS NOT NULL 

            AND `cat_product`.`proiz` IS NOT NULL 

            AND `cat_image`.`image_parent` IS NOT NULL
            
            AND `ratings`.`id` IS NOT NULL
            
            ORDER BY `ratings`.`total_value` DESC LIMIT 2

  Ответить  
 
 автор: Ильдар   (17.11.2008 в 14:59)   письмо автору
 
   для: Ильдар   (17.11.2008 в 13:26)
 

запрос выпоняется 0.08 секунд если убрать
ORDER BY `ratings`.`total_value` DESC LIMIT 2

значит чтото не то в сортировке?

  Ответить  
 
 автор: Ильдар   (17.11.2008 в 18:22)   письмо автору
 
   для: Ильдар   (17.11.2008 в 14:59)
 

может кто даст мне что почитать на эту тему???

  Ответить  
 
 автор: Trianon   (17.11.2008 в 18:46)   письмо автору
 
   для: Ильдар   (17.11.2008 в 18:22)
 

Исключите из запроса лишние таблицы.

  Ответить  
 
 автор: Ильдар   (17.11.2008 в 20:24)   письмо автору
 
   для: Trianon   (17.11.2008 в 18:46)
 

все таблицы нужны

  Ответить  
 
 автор: Trianon   (17.11.2008 в 20:38)   письмо автору
 
   для: Ильдар   (17.11.2008 в 20:24)
 

Это не так.

Между прочим, cat_product.id_prod - первичный ключ?

  Ответить  
 
 автор: Ильдар   (17.11.2008 в 21:30)   письмо автору
 
   для: Trianon   (17.11.2008 в 20:38)
 

да

  Ответить  
 
 автор: Trianon   (17.11.2008 в 22:15)   письмо автору
 
   для: Ильдар   (17.11.2008 в 21:30)
 

Простите, а вот эти все
AND `cat_razdel`.`id_razd` IS NOT NULL
AND `cat_country`.`id_country` IS NOT NULL
AND `ratings`.`id` IS NOT NULL
- это тоже первичные ключи?

Зачем Вы пишете LEFT во всех JOIN ?

Я, если б что-то подобное требовалось вычислить, получил бы ключи двух
верхних ratings.id
И дальнейшую выборку делал бы из них.

  Ответить  
 
 автор: Ильдар   (18.11.2008 в 08:23)   письмо автору
 
   для: Trianon   (17.11.2008 в 22:15)
 

не понял(

  Ответить  
 
 автор: Ильдар   (18.11.2008 в 08:23)   письмо автору
 
   для: Trianon   (17.11.2008 в 22:15)
 

не понял(

  Ответить  
 
 автор: Ильдар   (18.11.2008 в 19:39)   письмо автору
 
   для: Trianon   (17.11.2008 в 22:15)
 

плиизз, ну ткните меня на то место манула где нужно прочесть про это...

  Ответить  
 
 автор: Trianon   (18.11.2008 в 19:44)   письмо автору
 
   для: Ильдар   (18.11.2008 в 19:39)
 

то есть?
Наверное здесь
http://dev.mysql.com/doc/refman/5.1/en/join.html

  Ответить  
 
 автор: Ильдар   (17.11.2008 в 21:30)   письмо автору
 
   для: Trianon   (17.11.2008 в 20:38)
 

что то у мну с браузером не то, по два раза отправляет

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования