2012-11-19 112 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/en/using-explain.html)查询的结果是什么? – jensgram

+0

您必须使用'mysql_real_escape_string'清理用户在查询中使用的输入值 –

回答

0

由于连接将数量与要检查的行相乘,因此必须注意索引。

请为每个重要的字段进行索引,以筛选或与其他字段在其他表中进行连接。

良好的索引减少了执行sql命令的时间