Все, у меня есть веб-страница, которая загружает данные из 4-6 таблиц в 4 базы данных Oracle для примерно 10 схем по запросу. То, что я имею установку это требует в верхней части страницы, такие как:PHP: одновременный запрос нескольких баз данных для увеличения времени загрузки
<?php
require_once('src/connects_client1.php');
require_once('src/connects_client2.php');
require_once('src/connects_client3.php');
require_once('src/connects_client4.php');
?>
Каждый из этих файлов содержит строку соединения, такие как:
$connClient = oci_pconnect("Login", "Password", "//database:1521");
и ряд запросов и выполняет такие как :
$dailystatusClientSCHEMA = oci_parse($connClient, 'select * from OPS$SCHEMA.DAILY_STATUS order by table_name');
oci_execute($dailystatusClientSCHEMA);
Это то часть зрения на основе Jquery дерева с серией неупорядоченных списков и цикл по каждому элементу PHP, который печатает каждую строку данных соответственно для результатов запроса.
Некоторые из наборов результатов содержат более тысячи строк данных. Это работает и отображает данные в удобном для использования формате.
Проблема в загрузке. Требуется 1 минута 52 секунды. Конечный пользователь для этого в компании думает, что это слишком долго, и, честно говоря, я думаю, что это слишком долго. Я не веб-разработчик, но было логично, что этот проект попадает в нашу команду, так что я здесь.
Есть ли способ, которым я могу заставить все запросы загружаться более одновременным образом, чтобы данные могли быть возвращены быстрее? Это ОЧЕНЬ быстрая среда Exadata, поэтому я не верю, что в БД есть узкое место, и веб-сервер имеет легкую нагрузку в любой момент времени, поэтому я не думаю, что есть предел там, только в том, как я построил эта страница.
Я очень благодарен за любое решение, которое может быть предоставлено.
Спасибо.
Возможно, сравните различные части сценария с запросами на все, что еще есть на странице, чтобы найти место узкого места. Это может быть либо запрос, вытягивание наборов результатов, либо даже ожидание загрузки таблицы данных jquery. Возможно, быстрее запросить данные, сохранить их в сеансе и выполнить paginate через это через ajax с клиентской стороны. В любом случае, во-первых, это первое испытание, использующее microtime, чтобы найти то, что вызывает узкое место и сосредоточиться на этом. –