2012-11-19 2 views
-1
SELECT 
      f_workorders_shipments.date, 
      f_inventory.id AS item_id, 
      f_workorders_shipments.inventory_code AS code, 
      f_inventory`.status, 
      f_inventory.type, 
      f_workorders.id AS order_id 
     FROM f_workorders 
     LEFT JOIN f_workorders_shipments 
     ON f_workorders.id = f_workorders_shipments.order_id 
     LEFT JOIN `f_inventory` 
     ON f_workorders_shipments.inventory_code = f_inventory.code 
     WHERE contact_id = "'.$_POST['id'].'" 
     AND inventory_code IS NOT NULL 
     ORDER BY due DESC' 
+0

얼마나 오랜 시간이 소요됩니까? – Arran

+0

['EXPLAIN'] (http://dev.mysql.com/doc/refman/5.0/using-explain.html) 쿼리의 결과는 무엇입니까? – jensgram

+0

mysql_real_escape_string을 사용하여 쿼리에 사용 된 사용자 입력 값을 삭제해야합니다. –

답변

0

조인은 양을 확인 할 행에 곱하기 때문에 인덱싱에주의해야합니다.

필터링하거나 다른 테이블의 다른 필드와 결합하는 데 중요한 모든 필드에 대한 색인을 만드십시오.

색인을 생성하면 SQL 명령을 실행하는 시간이 단축됩니다.

관련 문제