Опубликовано: 26 ноября 201411 г Чтобы не создавать новую тему...Подскажите пожалуйста синтаксис вложенных запросов.Есть прямой запрос к базеSELECT * FROM `ibf_pickems_picks` WHERE `gameid` IN ( SELECT `id` FROM `ibf_pickems_games` WHERE `weekid` =57 AND `userid` =8554 ) Хочу разместить данный запрос в шаблоне. Какой у него будет синтаксис $this->DB->build( array('select' => 't.*', и т.д ?С простыми запросами проблем нет, а вот на этом споткнулсяСпасибо!
Опубликовано: 26 ноября 201411 г Хочу разместить данный запрос в шаблоне. В шаблоне вообще размещать любые запросы не самая удачная идея. И на будущие, если вопрос не касается сабжа - в данном случае экспорт емайлов, нужно спрашивать в отдельной теме. array( 'select' => 'p.*', 'from' => array( 'pickems_picks' => 'p' ), 'add_join' => array( array( 'from' => array( 'pickems_games' => 'g'), 'where' => 'g.id=p.gameid', 'type' => 'inner', ) ), 'where' => 'weekid=57 AND userid=8554' ) Конструкция выше аналогична нативному SQL запросу (используем джоин вместо вложенного подзапроса): SELECT p.* FROM ibf_pickems_picks p INNER JOIN ibf_pickems_games g ON g.id=p.gameid WHERE weekid=57 AND userid=8554При составлении запроса через конструктор, указывать префикс таблиц не нужно.Для фетчинга одной записи: $row = $this->DB->buildAndFetch( QUERY );Для множество записей $this->DB->build( QUERY ); $this->DB->execute(); while( $row = $this->DB->fetch() )
Опубликовано: 26 ноября 201411 г В шаблоне вообще размещать любые запросыПочему? Базу сильно нагружают?
Опубликовано: 26 ноября 201411 г Автор Спасибо, все работает! База некрупная, посещаемость невысокая - нагрузка не должна сильно увеличиться
Опубликовано: 26 ноября 201411 г Почему? Базу сильно нагружают?Ну хотя бы потому что http://ipbskins.ru/forum/topic10752.html/page__view__findpost__p__69935А говно запросом можно одинаково нагрузить базу как из шаблона, так и из скрипта. В шаблонах можно всунуть запрос в каком нибудь шаблоне, который крутится по циклу (тот же userInfoPane например) и нагенерировать кучу запросов на странице.
Опубликовано: 27 ноября 201411 г Ну хотя бы потому что http://ipbskins.ru/forum/topic10752.html/page__view__findpost__p__69935Полезная информация, спасибо. А говно запросом можно одинаково нагрузить базу как из шаблона, так и из скрипта. В шаблонах можно всунуть запрос в каком нибудь шаблоне, который крутится по циклу (тот же userInfoPane например) и нагенерировать кучу запросов на странице.А как можно просканировать форум на наличие таких тяжёлых запросов?
Опубликовано: 27 ноября 201411 г Включить логирования медленных запросов.http://ipbskins.ru/forum/topic12992.html
Опубликовано: 27 ноября 201411 г Включить логирования медленных запросов.На уровне сервера включено. Решил последовать вашему совету и включить на форумном уровне:define( 'IPS_SQL_FIND_SLOW_MODE', 0.5 );А где отчёт просматривать на форумном уровне?
Опубликовано: 27 ноября 201411 г На уровне сервера включено.Тогда нет смысла делать это на форуме. А где отчёт просматривать на форумном уровне?В /cache/sql_slow_log_*.cgi ОффтопСамое интересное, что автор там по сей день живет с тормозами в ип.контенте. Сам форум вроде работает у него бодро.
Чтобы не создавать новую тему...
Подскажите пожалуйста синтаксис вложенных запросов.
Есть прямой запрос к базе
Хочу разместить данный запрос в шаблоне. Какой у него будет синтаксис $this->DB->build( array('select' => 't.*', и т.д ?
С простыми запросами проблем нет, а вот на этом споткнулся
Спасибо!