我正在使用下面提到的查询返回1400条记录,它花费大约53秒来给出结果。有什么方法可以让它更快。但我的员工主人包含更多15,000条记录,而transaction_user_register包含25,000条记录。查询记录返回1400条记录
select
b.t_reg_id,
b.version,
b.device_imei,
b.device_model,
b.created_date, b.active,
a.emp_id,
a.emp_code,
a.role_id,
first_name,
last_name,
concat('91',a.mobile_no) as mobileno,
c.role_code ,
'' as Orgunit
from
employee_master a,
transaction_user_register b,
emp_role_master c
where
a.emp_code=b.emp_code and
a.role_id=c.role_id
group by emp_code;
答案 0 :(得分:1)
你看过桌子上的索引吗?
此外,也许更好的结构化查询表明INNER JOINS会改善问题。
select b.t_reg_id,b.version,b.device_imei,b.device_model,b.created_date, b.active,
a.emp_id, a.emp_code,a.role_id,first_name,last_name,concat('91',a.mobile_no) as
mobileno, c.role_code ,'' as Orgunit
from
employee_master a
inner join transaction_user_register b
on a.emp_code=b.emp_code
inner join emp_role_master c
on a.role_id=c.role_id
group by emp_code;