面试题答案
一键面试SELECT name, hire_date
FROM employees
WHERE department = 'HR' AND salary > 5000;
优化措施:
- 索引优化:
- 在
department
和salary
字段上建立联合索引。例如:
这样在查询时,MySQL可以利用索引快速定位到满足CREATE INDEX idx_department_salary ON employees (department, salary);
department = 'HR' AND salary > 5000
条件的记录,而不需要全表扫描,从而减少不必要的数据请求。 - 在
- 查询限制:如果业务允许,尽量在查询中添加合适的
LIMIT
子句,只获取需要的行数,避免获取过多不必要的数据。例如,如果只需要获取前10条满足条件的记录:SELECT name, hire_date FROM employees WHERE department = 'HR' AND salary > 5000 LIMIT 10;