求一个多表查询SQL的优化。
select a.e_employee_id,a.e_employee_no,a.e_full_name,e.*,c.e_badge_number,b.e_join_date
from (
select e_employee_id,e_employee_no,e_full_name from ev_employee employee where e_deleted =0) a,
(select e_employee_id,e_join_date from ev_emp_job where e_employment_status =1)b,
ev_tms_employee c,
(select e_employee_id from ev_tms_emp_sch_grp_change_tracker where e_current_schedule_group =1) d,
(select e_employee_id,e_attendance_date,e_shift_id,e_late_in,e_early_out,e_break_late_in,e_break_early_out,
e_absence,e_irregular,e_leave_code,e_total_raw_ot_time,e_total_rounded_ot_time,e_total_raw_working_hours,e_approved_ot
from e_tms_attendance_view where e_attendance_date>= '2002-12-01 00:00:00.000' and e_attendance_date <= '2009-01-01 00:00:00.000') e
where a.e_employee_id =b.e_employee_id and a.e_employee_id =c.e_employee_id and a.e_employee_id =d.e_employee_id and a.e_employee_id =e.e_employee_id
~~~~~~~~~~~~~~~~~~~~~~~~~
共计5张表,目前时间大概是1分钟,希望能提高一半的速度。
from (
select e_employee_id,e_employee_no,e_full_name from ev_employee employee where e_deleted =0) a,
(select e_employee_id,e_join_date from ev_emp_job where e_employment_status =1)b,
ev_tms_employee c,
(select e_employee_id from ev_tms_emp_sch_grp_change_tracker where e_current_schedule_group =1) d,
(select e_employee_id,e_attendance_date,e_shift_id,e_late_in,e_early_out,e_break_late_in,e_break_early_out,
e_absence,e_irregular,e_leave_code,e_total_raw_ot_time,e_total_rounded_ot_time,e_total_raw_working_hours,e_approved_ot
from e_tms_attendance_view where e_attendance_date>= '2002-12-01 00:00:00.000' and e_attendance_date <= '2009-01-01 00:00:00.000') e
where a.e_employee_id =b.e_employee_id and a.e_employee_id =c.e_employee_id and a.e_employee_id =d.e_employee_id and a.e_employee_id =e.e_employee_id
~~~~~~~~~~~~~~~~~~~~~~~~~
共计5张表,目前时间大概是1分钟,希望能提高一半的速度。
...全文
相关推荐
SQL Server多表查询优化方案集锦
在SQL Server中,多表查询优化对于提升数据库性能至关重要,特别是在大数据量的环境中。本文将深入探讨几个关键的优化策略,以帮助改善SQL Server多表查询的效率。1.
如何优化多表查询sql?
关注 Using filesort(需要额外排序)和 Using temporary(使用了临时表),这些都是性能杀手。:使用Redis/Memcached等缓存连接查询的最终结果,特别是那些不常变化的数据。:如果索引包含了查询所需要的所有字段,数据库就无需“回表”查询数据行,速度极快。:为驱动表在内存中建立一个哈希表,然后遍历被驱动表,用连接键去哈希表中查找。eq_ref:理想的多表连接类型,通常使用主键或唯一索引进行关联。驱动表(通常是数据量小的表,或先访问的表)的连接键索引至关重要。
SQL多表连接查询优化的相关研究
标题中的“SQL多表连接查询优化的相关研究”指的是在数据库管理中,如何高效地执行涉及多个数据表的SQL查询操作。
sql优化 联表查询
本篇将深入探讨“sql优化”与“左连接查询”的相关知识点,以及如何提升联表查询的效率。首先,我们要理解SQL优化的重要性。
Oracle 多表查询优化
Oracle 多表查询优化Oracle 多表查询优化是指在 Oracle 数据库管理系统中,为了提高多表查询的效率和性能采取的一些优化策略和技术。


疑难问题
