У меня есть приложение PHP, которое извлекает информацию о заказе на основе отсканированного/введенного номера заказа для целей получения заказа. Мы используем Pervasive SQL, но синтаксис идентичен MS SQL.
У меня есть несколько небольших запросов, используемых для разбиения элементов комплекта на составные элементы, которые вызываются по мере необходимости, но они просты и быстры в выполнении. Моя проблема заключается в том, что наш основной запрос содержит самую необходимую информацию. Это быстро для большинства заказов, так как они относительно небольшие (1-15 предметов или около того). Моя проблема связана с большими заказами (например, оптом), которые могут составлять более 100 товаров.
Я понимаю, что чем больше информации требуется, тем больше времени потребуется для выполнения запроса, но я надеюсь, что в моем запросе есть место для его дальнейшей оптимизации.
Кто-нибудь видит в следующем запросе что-нибудь, что я могу оптимизировать, чтобы ускорить работу с большими заказами?
SELECT
oeordh.orduniq,
oeordh.customer,
oeordh.ordnumber,
oeordh.orddate,
oeordh.salesper1,
oeordd.orduniq,
oeordd.item,
oeordd.pickseq,
oeordd.location,
oeordd.origqty,
arcus.idcust,
arcus.idgrp
FROM oeordh
INNER JOIN oeordd ON oeordh.orduniq = oeordd.orduniq
INNER JOIN arcus ON oeordh.customer = arcus.idcust
WHERE
oeordh.ordnumber = '".$_POST['barcode']."'
ORDER BY oeordd.pickseq`
explain
)? - person   schedule 29.02.2012oeordh.ordnumber
иoeordd.pickseq
. Остальное зависит от мощности вашей базы данных/сервера. - person MicSim   schedule 29.02.2012