2012-08-09 33 views
1

性能要提高對一隻火鳥2.5數據庫從一個Delphi XE Win32應用程序運行不同的查詢,這是更快的速度:自聯接VS LEFT JOIN在火鳥

  • 自加入 - 例如

    SELECT e1.full_name AS Employee,e2.full_name AS Manager FROM employee e1 JOIN employee e2 ON e1.mng_id = e2.emp_no;

OR

  • 左與其他表連接

    SELECT e1.full_name如員工,e2.full_name作爲經理 FROM員工E1 LEFT JOIN employee_info E2 ON e1.mng_id = e2.emp_no;

考慮到有關表格將包含超過50k行,並且我將添加索引以儘可能加快查詢速度。

+0

這有什麼做用Delphi所有字段來創建索引,因爲查詢本身在服務器上進行處理。刪除Delphi標籤。 – 2012-08-09 16:41:42

+0

你是對的。現在,我等待Firebird傢伙的答案,即使是來自'Delphi'的人也會使用它,並且可能有相同的問題。 – RBA 2012-08-09 20:12:27

+1

如果不知道每個查詢使用的PLAN,就沒有正確的答案。 – WarmBooter 2012-08-22 00:28:28

回答

0

提高查詢速度,則需要通過所涉及的WHERE子句