如何提升效率低下的sql查询速度

 时间:2024-10-30 04:18:32

1、查看原始员工表, 记录将按顺序存储在磁盘上, 很可能是按员工号列的顺序存储, 因此员工编号101将遵循 100, 依此类推。

如何提升效率低下的sql查询速度

2、在大多数情况下, 以这种方式存储数据没有多大意义;很少有情况下, 你会希望按员工编号的顺序列出员工。

如何提升效率低下的sql查询速度

3、对此数据的一个可能的查询是查找在特定办公室工作的所有员工:SELECT * FROM employees WHERE office_location_id=2;

如何提升效率低下的sql查询速度

4、此查询将需要按顺序检查每一行, 以查看 WHERE 谓词是否匹配。如果表有几千行, 则此查询可能需要一段时间, 尤其是在没有行满足条件的情况下。

5、通过为该列添加索引, 数据库将提供该列的直接查找;给出了行位置的直接引用。下图说明了它的工作原理。

如何提升效率低下的sql查询速度

6、office _ location _ id 的分组将存储在此表中, 数据库将使用它来查找基于办公位置的行。需要权衡的是, 存储索引需要更多的磁盘空间。下图显示了如何创建此索引:CREATE INDEX office_loc_idx on employees (office_location_id);

如何提升效率低下的sql查询速度

7、一旦到位, 插入到员工表中也会导致索引中的条目, 可能会使插入时间更长。权衡的是, 查找速度会快得多, 特别是在表格大小增长到几千行之后。

如何提升效率低下的sql查询速度
  • linux如何查看环境变量
  • 千兆2光3电环网自愈型光纤收发器WEB设置步骤
  • Centos7 yum 安装keepalived方法
  • oracle基础-如何创建表的主键
  • 前端脱坑记之Layui表格纯前端增删改操作的实现
  • 热门搜索
    仙人掌果怎么吃 骨密度怎么检查 刺激战场怎么改名字 完税证明怎么开 共享汽车怎么收费 分号怎么打 百度经验怎么赚钱 房屋公摊面积怎么算 热干面怎么做 火山是怎么形成的