Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Создание сложной выборки из MySQL

Ответить
Настройки темы
Создание сложной выборки из MySQL

Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


есть:
Код: Выделить весь код
  $MaxByte = mysql_fetch_array(mysql_query('SELECT sum(l.ByteSent) as Max
                                              FROM logs as l, brouser as b
                                             WHERE l.Date >= "'.$StartDate.'"
                                               AND l.Date <= "'.$EndDate.'"
                                               AND ( '.$r.' )
                                               AND b.id=l.Brouser
                                          GROUP BY l.QueryString, l.Result
                                          ORDER BY Max DESC;')) or print mysql_error();

  $MaxCount = mysql_fetch_array(mysql_query('SELECT count(*) as Max
                                               FROM logs as l, brouser as b
                                              WHERE l.Date >= "'.$StartDate.'"
                                                AND l.Date <= "'.$EndDate.'"
                                                AND ( '.$r.' )
                                                AND b.id=l.Brouser
                                           GROUP BY l.QueryString, l.Result
                                           ORDER BY Max DESC;')) or print mysql_error();

  if( isset( $HTTP_GET_VARS['cuturl'] ) )
  $QueryStringList = mysql_query('SELECT IF( LOCATE("?", l.QueryString) = 0, l.QueryString, LEFT(l.QueryString, LOCATE("?", l.QueryString)  - 1) ) as QueryString,
                                  count(*) as Count,
                                  sum(l.ByteSent) as AllByteSent,
                                  l.Result,
                                  sum(l.ByteSent) / '.$MaxByte['Max'].' as prb,
                                  count(*) / '.$MaxCount['Max'].' as prc
                             FROM logs as l, brouser as b
                            WHERE l.Date >= "'.$StartDate.'"
                              AND l.Date <= "'.$EndDate.'"
                              AND ( '.$r.' )
                              AND b.id=l.Brouser
                         GROUP BY l.QueryString, l.Result
                         '.$sort.';') or print mysql_error();
  else
  $QueryStringList = mysql_query('SELECT l.QueryString as QueryString,
                                  count(*) as Count,
                                  sum(l.ByteSent) as AllByteSent,
                                  l.Result,
                                  sum(l.ByteSent) / '.$MaxByte['Max'].' as prb,
                                  count(*) / '.$MaxCount['Max'].' as prc
                             FROM logs as l, brouser as b
                            WHERE l.Date >= "'.$StartDate.'"
                              AND l.Date <= "'.$EndDate.'"
                              AND ( '.$r.' )
                              AND b.id=l.Brouser
                         GROUP BY l.QueryString, l.Result
                         '.$sort.';') or print mysql_error();
как это можно про оптимизировать?

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 22:13, 16-06-2004

 

Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mar
я же говорил что это шаманство!
я работаю с запросами из скриптов.

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 00:18, 19-06-2004 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


бред какой-то, причем с базами данных вряд ли связанный.
При проверки бд надо запрос давать прямо в ней ручками и c чем-нибудь что-нибудь вроде EXPLAIN (в других бд есть еще более удобные средства, вроде EXPLAIN ANALYZE в postgres-е),
а то опять слишком много неизвестных - опыт не в чистом виде получается.

Отправлено: 00:29, 19-06-2004 | #12


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


mar
дело в том что мне результат нужен не в чистом виде, мне нужна обшая производительность, по этому я и мерию ее косвенным методом.

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 00:36, 19-06-2004 | #13

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


Vlad Drakula
ну не бывает общей производительности!!! Если, конечно не заниматься всерьез подсчетом средней температуры по больнице
У меня дома athlonXP2100 - моя машина, под win98 (сейчас Linux не стоит,- винта под него нет, а собираюсь переделать под XP/debian, или ALT или FreeBSD,
сервак собрала из пожертвованных остатков P166 MMX - FreeBSD 4.10 stable,
на работе ALTLinux на 1700 athlon-е,
боевой сервер с АСУ заказчика 4-процессорный PIV уж не помню какой частоты под FreeBSD.
у постоянных заказчиков сейчас хостинг на nodex (respect тебе, кстати ) - соляра уж не помню на чем, но с кучей соседей по диску. Ну и памяти тоже всюду разное количество и разной. Могу продолжать примеры машин и конфигураций...
Как ты думаешь, один и тот же скрипт на всех этих машинах будет одинаково работать?
Я более того скажу - даже запросы к БД в условных попугаях постгреса (по EXPLAIN ANALYZE) в зависимости от загрузки машины считаются по-разному.
А уж если считать вместе PHP, MySQL и windows - неудивительно, что приходится плясать с бубном
ЗЫ это не наезд. это размышления вслух - приемы тестирования не только тебе приходится продумывать

[s]Исправлено: mar, 11:47 19-06-2004[/s]

Отправлено: 10:22, 19-06-2004 | #14



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Создание сложной выборки из MySQL

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MySQL - [решено] Создание mySQL aninimous Программирование и базы данных 7 09-09-2009 10:41
MySQL - Создание MySQL БД с фильмами. BugZZ Программирование и базы данных 11 18-11-2008 01:16
MySQL - Создание БД в MySQL darksmoke Программирование и базы данных 7 06-04-2008 19:24
Mysql, оптимизация таблицы (создание индексов) ivank Вебмастеру 7 07-03-2007 17:47
создание ячеек не ограниченной длинны в MySQL Vlad Drakula Вебмастеру 1 10-07-2003 00:58




 
Переход