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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Объеденить 2 и 3 запроса в 1

Сообщения:  [1-10]    [11-20]  [21-29] 

 
 автор: TetRiska   (11.03.2011 в 20:08)   письмо автору
 
   для: cheops   (11.03.2011 в 19:39)
 

ок, спасибо, буду тестировать

  Ответить  
 
 автор: cheops   (11.03.2011 в 19:39)   письмо автору
 
   для: TetRiska   (11.03.2011 в 19:29)
 

Если колеблется, значит уже не от скрипта скорость зависит, а от нагрузки машины - загоняйте запросы в циклы, чтобы время поточнее оценивать.

  Ответить  
 
 автор: TetRiska   (11.03.2011 в 19:29)   письмо автору
 
   для: cheops   (11.03.2011 в 19:17)
 

уже реже чем 94мс стало выполнятся...колеблется от 63мс до 94мс

  Ответить  
 
 автор: cheops   (11.03.2011 в 19:17)   письмо автору
 
   для: TetRiska   (11.03.2011 в 19:02)
 

Скорость не изменилась? По прежнему 94мс? Кстати, имеются в виду микро или милисекунды (может уже ограничение в подсчете времени и точно у этих значений скорость уже не измерить)?

PS Ключи используется, по сравнению с первым запросом мы перевели полностью его на объединения, даже избавились от WHERE-конструкции. Индексы тоже вроде все в наличии.

  Ответить  
 
 автор: TetRiska   (11.03.2011 в 19:02)   письмо автору
97.9 Кб
 
   для: cheops   (11.03.2011 в 18:40)
 

EXPLAIN поставил в самом начале запроса перед селект...см. приложение

  Ответить  
 
 автор: cheops   (11.03.2011 в 18:40)   письмо автору
 
   для: TetRiska   (11.03.2011 в 18:37)
 

Можно (смотрите ниже), но дело не в JOIN-ах и вложенных запросах, а в том, чтобы подцепить индексы, а они судя по всему почему-то не подцепляются. Поставьте перед SELECT-запросом ключевое слово EXPLAIN - посмотрите, что он сообщает.
SELECT  
   p.`em_partner_file`,  
   p.`em_partner_title`  
FROM  
    (SELECT * FROM `em_partner_block` 
    WHERE em_partner_access='y' AND  
           em_partner_deleted='n') AS p  
JOIN `em_category` c  
ON (p.`em_category_id`=c.`em_category_parent_id`) 
JOIN `em_category` cp 
ON (p.em_category_id = cp.em_category_parent_id AND cp.em_category_id = 40) 
GROUP BY  
   p.`em_partner_id`  
ORDER BY  
   p.`em_partner_sort` ASC

  Ответить  
 
 автор: TetRiska   (11.03.2011 в 18:37)   письмо автору
 
   для: cheops   (11.03.2011 в 18:00)
 

Время аналогичное. А нельзя ли сделать полостью на джоинах? А то вложенные запросы как говорилось замедляют исполнение. Насчет дампа - с данными что ли?

  Ответить  
 
 автор: cheops   (11.03.2011 в 18:00)   письмо автору
 
   для: TetRiska   (11.03.2011 в 17:47)
 

А теперь попробуйте вот такой запрос - у него время уменьшается?
SELECT 
   p.`em_partner_file`, 
   p.`em_partner_title` 
FROM 
   (SELECT * FROM `em_partner_block`
    WHERE em_partner_access='y' AND 
           em_partner_deleted='n') AS p 
JOIN `em_category` c 
ON (p.`em_category_id`=c.`em_category_parent_id`) 
WHERE 
   p.em_category_id = ( 
                      SELECT 
                 em_category_parent_id 
              FROM 
             `em_category` 
              WHERE 
              em_category_id = 40 
                      )
GROUP BY 
   p.`em_partner_id` 
ORDER BY 
   p.`em_partner_sort` ASC

PS Вообще бы, конечно, полный бы дамп - с ним повозиться, так как EXPLAIN у меня жалуется на отсутствие данных, не понятно какой индекс используется, а какой нет.

  Ответить  
 
 автор: TetRiska   (11.03.2011 в 17:48)   письмо автору
 
   для: cheops   (11.03.2011 в 17:47)
 

на сервере удаленно

  Ответить  
 
 автор: TetRiska   (11.03.2011 в 17:47)   письмо автору
 
   для: cheops   (11.03.2011 в 17:42)
 

да никак, 94мс так и осталось

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-29] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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