Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Время выполнения sql запросов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Время выполнения sql запросов скачет от 0,006сек до 3,5сек
stays
Отправлено: 11 Ноября, 2013 - 17:16:56
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Ребят вот какая проблема,само подключение к бд производится от 0,0005 до 0,002 почему оно скачет? Но дальше еще интереснее,выполняется около 5 запросов и их скорость выполнения от 0,006 до 3,5 секунд почему она так прыгает? и что можно с этим сделать?
 
 Top
tato
Отправлено: 11 Ноября, 2013 - 17:20:23
Post Id



Посетитель


Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011  
Откуда: Владивосток


Помог: 8 раз(а)




Условия меняются, пользователей например больше или меньше, жестак тупит/нагружен. Если критично, положите базу в памать будет шустрее работать.


-----
просто ?: сложно
 
 Top
stays
Отправлено: 11 Ноября, 2013 - 17:20:48
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




$ip = addslashes(getenv("REMOTE_ADDR"));
$prov_ip = mysql_num_rows(mysql_query("SELECT * FROM `ban_ip` WHERE `ip`='$ip' limit 1"));

if ($prov_ip != 0)
{....}
if (isset($_COOKIE['session']) or isset($_COOKIE['id']))
{


if(empty($_COOKIE['id']) or empty($_COOKIE['session']))
{
$id = num($_COOKIE['id']);
$session = num($_COOKIE['session']);


$user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id`='$id' and `session`='$session' "));
$user_strana=mysql_fetch_array(mysql_query("SELECT id,name,id_user FROM `strana` WHERE `id`='".num($user['id_strani'])."' "));

if($user['stra'] == "0" and $user['rank']== "122" and substr_count($_SERVER['PHP_SELF'],"stop") != '1')
{go("/stop".$ssilki1."");}///

$upd_online=mysql_query("UPDATE `users` SET `online`=`online`+'".$time_online."' WHERE `id`='".num($user['id'])."' ");

mysql_query("UPDATE `users` SET `last_click`='".time()."' WHERE `id`='".num($user['id'])."' ");
(Добавление)
tato пишет:
Условия меняются, пользователей например больше или меньше, жестак тупит/нагружен. Если критично, положите базу в памать будет шустрее работать.

другого решения нет?
 
 Top
tato
Отправлено: 11 Ноября, 2013 - 17:27:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011  
Откуда: Владивосток


Помог: 8 раз(а)





жесть



JOIN IT!
PHP:
скопировать код в буфер обмена
  1.  
  2. $user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id`='$id' and `session`='$session' "));
  3.  $user_strana=mysql_fetch_array(mysql_query("SELECT id,name,id_user FROM `strana` WHERE `id`='".num($user['id_strani'])."' "));
  4.  



JOIN IT! too
PHP:
скопировать код в буфер обмена
  1.  
  2. $upd_online=mysql_query("UPDATE `users` SET `online`=`online`+'".$time_online."' WHERE `id`='".num($user['id'])."' ");
  3.  mysql_query("UPDATE `users` SET `last_click`='".time()."' WHERE `id`='".num($user['id'])."' ");
  4.  


-----
просто ?: сложно
 
 Top
stays
Отправлено: 11 Ноября, 2013 - 17:33:16
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




tato пишет:

жесть



JOIN IT!
PHP:
скопировать код в буфер обмена
  1.  
  2. $user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id`='$id' and `session`='$session' "));
  3.  $user_strana=mysql_fetch_array(mysql_query("SELECT id,name,id_user FROM `strana` WHERE `id`='".num($user['id_strani'])."' "));
  4.  



JOIN IT! too
PHP:
скопировать код в буфер обмена
  1.  
  2. $upd_online=mysql_query("UPDATE `users` SET `online`=`online`+'".$time_online."' WHERE `id`='".num($user['id'])."' ");
  3.  mysql_query("UPDATE `users` SET `last_click`='".time()."' WHERE `id`='".num($user['id'])."' ");
  4.  


спасибо,попробую
 
 Top
tato
Отправлено: 11 Ноября, 2013 - 17:44:43
Post Id



Посетитель


Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011  
Откуда: Владивосток


Помог: 8 раз(а)




stays, но это не панацея. По коду могу сказать, до нормальной оптимизации как до луны пешком. Так, что больше уделите времени на изучение матчасти.


-----
просто ?: сложно
 
 Top
biperch
Отправлено: 11 Ноября, 2013 - 17:50:20
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 588
Дата рег-ции: Окт. 2009  
Откуда: Днепропетровск


Помог: 8 раз(а)




по полям которые участвуют в поиске сделай индекс
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB