powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Запрос из 4 строк(Oracle), медленно работает из php.
25 сообщений из 26, страница 1 из 2
Запрос из 4 строк(Oracle), медленно работает из php.
    #37985940
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем, привет!

Есть таблица, в которой 4 записи всего:
IDNAME1Иванов2Петров3Сидоров4Сергеев

Скажите, пожалуйста, нормально, ли то, что запрос из 4-х записей выполняется
0.09154486656189 (сек) ?

Для сравнения, в MSSQL, точно такой же запрос выполняется:

0.00057005882263184 (сек) - на 3 порядка быстрее.

Выполняю запрос так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<?php
if ($c=OCILogon($db_user, $db_psw, $db_name)) {
  echo "<br/>Successfully connected to Oracle!!!<br/>";
  //OCILogoff($c);
} else {
  $err = OCIError();
  echo "Oracle Connect Error " . $err[text];
}

$start = microtime(true);

// Производим выборку из базы данных 
  $s = OCIParse($c, "SELECT ID, NAME FROM TUSERS ORDER BY ID");
  OCIExecute($s, OCI_DEFAULT);
  while (OCIFetch($s)) 
  {
    echo "<br/>id=" .oci_result($s, "ID")." name=" .oci_result($s, "NAME");
  } 

echo "<br/>t=".(microtime(true) - $start);  
  
// Отключаемся от базы данных
OCILogoff($c);   
?>



Подскажите, пожалуйста, как возможно оптимизировать?


Модератор:
zvezda_t , не забываем использовать тег SRC для оформления кода! Вроде бы Вы не первый день на форуме.
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37986010
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так все же, медленно работает код PHP или медленно отрабатывается выполнение запроса внутри СУБД? В последнем случае Вам наверно в форум по Ораклу.

PS: Мож сервер оракла дико перегружен или связь с ним плохая... Не?
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37986098
Фотография Feg16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваш echo - может тратить время на отправку данных на клиент, если не буферизован.
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37986510
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) А где ко для mssql?
2) пишите в массив, а print делайте после 2-го microtime.
3) МС - блокировочник, а Оракл - версионник. Блокировочник быстрее в монопольном режиме (ну когда у вас один пользователь), версионник в конкурентном (сценарий работы сайта).
4) ???
5) PROFIT!
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37986752
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМС - блокировочник-
когда вы в последний раз видели MS SQL?
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37986867
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Модератор, извините, я забыла перед отправкой, а редактировать похоже здесь нельзя.

vkleТак все же, медленно работает код PHP или медленно отрабатывается выполнение запроса внутри СУБД? В последнем случае Вам наверно в форум по Ораклу.

PS: Мож сервер оракла дико перегружен или связь с ним плохая... Не?
Дело в том, что запрос из больших таблиц тоже выполняется 0.2 сек.
Может правда дело в плохой связи? как это протестировать?
Еще момент, я когда php ставила, библиотеки для работы с Oracle не работали пока я не поставила Клиента я Oracle. Php только через клиента работает?

Feg16Ваш echo - может тратить время на отправку данных на клиент, если не буферизован.
Объясните пожалуйста подробнее.. каким образом провести буферизацию? И что нужно буферизировать?
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37986868
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zvezda_tЕще момент, я когда php ставила, библиотеки для работы с Oracle не работали пока я не поставила Клиента я Oracle. Php только
Да, нужно было поставить Oracle Instant Client
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37987153
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zvezda_tиз больших таблиц тоже выполняется 0.2 сек.
Может правда дело в плохой связи? как это протестировать?Сервер оракла на отдельной машине? Если так, тогда там локально выполнить можно попробовать. Хотя, клиент другим может оказаться...
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37987309
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор$s = OCIParse($c, "SELECT ID, NAME FROM TUSERS ORDER BY ID");
а нефик выбирать всю таблицу.
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37987444
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleСервер оракла на отдельной машине? Если так, тогда там локально выполнить можно попробовать. Хотя, клиент другим может оказаться...
Да, на отдельной. Локально выполнить значит - установить php и apache на сервере БД - и там попробовать запустить?


ScareCrowа нефик выбирать всю таблицу.
Не поняла Вас? как это нефиг? Таблица является справочником, в которой ВСЕГО 4 записи. И задача как-раз в том чтобы их все и вывести.
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37987470
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zvezda_tзначит - установить php и apache на сервере БДОдного клиента уже стало недостаточно чтоб запрос к серверу выполнить?
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37987479
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vklezvezda_tзначит - установить php и apache на сервере БДОдного клиента уже стало недостаточно чтоб запрос к серверу выполнить?

ничего не поняла... так у меня сейчас и стоит клиент, на машине где php, а сервер БД на другой машине.
Что где тогда запустить???
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988033
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
$start = microtime(true);

// Производим выборку из базы данных 
  $s = OCIParse($c, "SELECT ID, NAME FROM TUSERS ORDER BY ID");
  OCIExecute($s, OCI_DEFAULT);
  while (OCIFetch($s)) 
  {
    echo "<br/>id=" .oci_result($s, "ID")." name=" .oci_result($s, "NAME");
  } 

echo "<br/>t=".(microtime(true) - $start);  


нарисуйте вот это:
echo "<br/>t=".(microtime(true) - $start);
в каждой строчке и выложите сюда результат.
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988041
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
версия php случаем не 5.4?
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988110
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
t(1)=0.067720890045166
t(2)=0.0677330493927
t(3)=0.067749977111816
t(4)=0.06775689125061
t(5)=0.067764043807983
t(6)=0.067777872085571
t(7)=0.067785024642944

t=0.067791938781738
7 rows fetched



ScareCrowверсия php случаем не 5.4?
да, 5.4.3
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988123
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.php.net/manual/en/function.ociparse.php
авторThis alias has been DEPRECATED as of PHP 5.4.0. Relying on this alias is highly discouraged.

у вас включено подавление ошибок.
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988138
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow http://www.php.net/manual/en/function.ociparse.php
авторThis alias has been DEPRECATED as of PHP 5.4.0. Relying on this alias is highly discouraged.

у вас включено подавление ошибок.

Не очень поняла... Что нужно изменить?

Вот второй вариант:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
$start = microtime(true);	
//-------------------
	$stid = oci_parse($conn, 'SELECT * FROM TEDUCATION_HDBK ORDER BY ID');
	oci_execute($stid);
	$nrows = oci_fetch_all($stid, $res);
	echo "$nrows rows fetched<br/>\n";
	var_dump($res);
	echo "<br/>";
//-------------------  
echo "<br/>t=".(microtime(true) - $start);



Время точно такое же: t=0.066051006317139
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988160
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНе очень поняла... Что нужно изменить?
почитать и осознать документацию.
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988177
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ладно, упрощаю задачу. надо осознать что означает фраза "DEPRECATED as of PHP 5.4.0"
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988188
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrowавторНе очень поняла... Что нужно изменить?
почитать и осознать документацию.

Причем тут устаревший псевдоним? Я же в последнем сообщении показала результат работы oci_parse. Время не изменилось, это не помогло.
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988191
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowладно, упрощаю задачу. надо осознать что означает фраза "DEPRECATED as of PHP 5.4.0"
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988197
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну теперь делаем то же самое. ставим вывод времени послекаждой строчки.
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988222
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrowну теперь делаем то же самое. ставим вывод времени послекаждой строчки.
так, тут уже нет цикла. Обычный массив php.
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988248
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и что?
...
Рейтинг: 0 / 0
Запрос из 4 строк(Oracle), медленно работает из php.
    #37988266
zvezda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrowи что?
Что толку его измерять? там всего 4 записи!!!
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Запрос из 4 строк(Oracle), медленно работает из php.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]