Мне интересно о чем-то. Я создал сайт, который интенсивно использует PHP и SQL (Oracle).
Есть ли какое-либо влияние на скорость выполнения 1 запроса, возвращающего несколько столбцов, а затем нескольких запросов, возвращающих 1 столбец.
Customer Name: <?= dbq("select customer_name from customers where customer_no = $session"); ?>
Customer No: <?= dbq("select customer_no from customers where customer_no = $session"); ?>
Customer Type: <?= dbq("select customer_type from customers where customer_no = $session"); ?>
против
Один SQL-запрос возвращает 3 столбца и затем использует их:
Customer Name: $row1
Customer No: $row2
Customer Type: $row3
Один запрос должен быть быстрее. Существуют значительные накладные расходы для каждого запроса: анализ запроса, поиск в таблице и возврат результатов клиенту. Если все ваши значения поступают из одной и той же строки, это будет сделано только один раз, если вы объедините их в один запрос.
Да, есть
Если вы собрали STATISTICS
в курсе, и требуется INDEXES
на месте, следовал за NORMALIZATION
правила. Тогда, мой друг, просто пойти на один SQL
и перестаньте беспокоиться о производительности прямо сейчас.
Если вы действительно столкнулись с какими-либо проблемами с производительностью, опубликуйте execution plan
На основании чего могут быть представлены дополнительные предложения.
Если вы хотите ROT
То есть практическое правило, тогда один запрос лучше, чем несколько запросов, разделенных для выполнения одной и той же задачи.
Заметка : Настройка производительности — все о кардинальности. Кардинальность не в количестве столбцов, а в количестве строк.
Обновить : И помните, между огромной разницей SQL
а также PL/SQL
, В основном, интерфейсные приложения вызывают программы на PL / SQL и CONTEXT SWITCHING
складывается в EXECUTION TIME
,