面试题答案
一键面试- 优化思路:
- 由于
UNION
操作会合并两个表的结果集,并且id
字段已有索引,而name
字段无索引。在UNION
查询中,如果涉及到对name
字段的筛选、排序等操作,没有索引会导致全表扫描,从而影响性能。 - 为了优化性能,可以在表
A
和表B
的name
字段上添加索引。这样在UNION
查询中,如果有对name
字段的操作,就可以利用索引快速定位数据,减少扫描的数据量,提升查询性能。
- 由于
- 可能的SQL语句:
- 对于MySQL数据库:
-- 为表A的name字段添加索引 CREATE INDEX idx_name_A ON A (name); -- 为表B的name字段添加索引 CREATE INDEX idx_name_B ON B (name);
- 对于Oracle数据库:
-- 为表A的name字段添加索引 CREATE INDEX idx_name_A ON A (name); -- 为表B的name字段添加索引 CREATE INDEX idx_name_B ON B (name);
- 对于SQL Server数据库:
-- 为表A的name字段添加索引 CREATE INDEX idx_name_A ON A (name); -- 为表B的name字段添加索引 CREATE INDEX idx_name_B ON B (name);
- 对于MySQL数据库: