|
|
|
|
|
для: Sfinks
(16.05.2013 в 19:32)
| | У меня два варианта работы класса: с логированием sql- запросов, и без лога, т.е. в лог идут только запросы и ответы на них. При тесте на Денвере все нормально, но с двумя файлами лога... ХЗ))) Озадачил вопрос про 10... 1000... 100 000 подключений... По моему при 100 одновременных подключениях обязан рухнуть сервер с громкими матами, а потом предчувствуя очередной бардак отказаться включаться.
Подскажите по сессиям, а то у меня такой учебник(для истинных программеров), найди ошибку сам))). Переписывать(извращать) чужой код не хочу, и не стану, интересно самому написать. Может логи выводить по ID?
А про получится или нет я уже писал)))
Извиняюсь за связность текста, на Д.Р. у брата))) | |
|
|
|
|
|
|
|
для: Nickiomen
(15.05.2013 в 21:11)
| | Ошибки лучше писать отдельно.
В логе на пару мегабайт Вы их в жизни не найдете.
А в отдельном файле легко. | |
|
|
|
|
|
|
|
для: Nickiomen
(15.05.2013 в 18:00)
| | Переписал вывод лога, теперь еще и ошибки записывает.
>15:05:2013.21:51:28<::>SELECT VERSION()<::>0.0006
>15:05:2013.21:52:22<::>SELEC VERSION()<::>You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELEC VERSION()' at line 1
>15:05:2013.21:53:16<::>SELECT VERSION()<::>0.0006 | |
|
|
|
|
|
|
|
для: psychomc
(15.05.2013 в 17:42)
| | Ну у меня получилось примерно следующее:
15:05:13.06:43:44<::>SELECT * FROM login<::>0.0010
15:05:13.06:45:07<::>SELECT * FROM login<::>0.0008
15:05:13.06:45:08<::>SELECT * FROM login<::>0.0014
Но есть одно но, PHPDesigner выдает предупреждение на функцию data(), советуют использовать"date.timezone setting or the date_default_timezone_set() function" есть смысл переписывать или он предлагает определить часовой пояс?
Пока поставил $time= @date(); | |
|
|
|
|
|
|
|
для: Nickiomen
(15.05.2013 в 12:08)
| | если записывать просто запросы и время выполнения построчно в виде логов, то файл, по крайней мере, будет удобнее. но база предоставляет больше возможностей для выборки. смотрите что для вас предпочтительнее | |
|
|
|
|
|
|
|
для: psychomc
(15.05.2013 в 11:51)
| | Спасибо! Еще такой вопрос, а если писать в обычный файл, не быстрее ли будет, чем в базу? | |
|
|
|
|
|
|
|
для: Nickiomen
(15.05.2013 в 10:01)
| | можно вот так
<?php
$query = "SELECT * FROM ....";
$time_before = microtime(true);
$result = mysql_query($query);
$time_after = microtime(true);
echo number_format($time_after - $time_before, 4);
|
если не ошибаюсь, phpmyadmin считает именно так | |
|
|
|
|
|
|
|
для: cheops
(15.05.2013 в 07:20)
| | Так вот с временем выполнения как раз и проблема. Если я правильно понял, то это "SHOW PROFILE", вот только с синтаксисом не совсем понятно. | |
|
|
|
|
|
|
|
для: Nickiomen
(14.05.2013 в 22:57)
| | А вы просто попробуйте записывать все SQL-запросы и время их выполнения в таблицу базы данных и выводить на отдельной странице в системе администрирования. Причем все запросы, как на чистом SQL, так и сгенерированные - уже будет очень хорошее дело. | |
|
|
|
|
|
|
|
для: cheops
(14.05.2013 в 21:29)
| | Это конечно весьма удобно, но в то же время, если я правильно понял, означает переход на Руби. Что не есть правильно в моем случае. Распылять силы на два языка в планы пока не входит (с одним бы более менее разобраться).
А вот можно ли получить время выполнения SQL запроса, как это делает PHPMyAdmin, только в самом PHP?
Пока что мой класс только немного облегчает написание кода запросов, но до генерации SQL , там- как до той же Японии коленками назад)))
public function setquery($q)
{
$this->result= mysql_query($q);
if (!$this->result)
{
$this->result= mysql_error();
exit();
}
return $this->result;
}
|
По моему это все же меньше писанины и ветвлений в коде, чем каждый раз проверять возвращаемое значение в самой программе...
Получится или нет- это вопрос второго плана. Не ошибается тот- кто ни чего не делает))) | |
|
|
|
|