2012-08-09 40 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子句