SQL查询优化

来源:互联网 发布:生产数据统计方法 编辑:程序博客网 时间:2024/04/29 02:29

数据库的知识无论在实际工作中或者在面试中都是必须要掌握的,小编原来在面试的时候好多公司都会问到关于数据库的知识,其中,我觉得最重要的知识莫过于数据库如何优化,简单的应用谁都会一点,关键是如何使数据库的运行效率高一些,下面总结一些干货,面试的时候如果能说出来,相信面试官会对你刮目相看的,好了废话不多说,大家直接看:

数据库的实质:硬盘上存储数据的文件

查询如何优化:

  1. from 后边的表数据少的放在右边(多个表查询的时候)

  2. where后边过滤行数多的放在右边

  3. select 少用* 够用就行(尽量不用*,即使查询全部字段也要尽量全部写出来,这样的效率会高)

  4. 能用连接查询绝不用子查询,因为子查询的的底层就是连接查询

  5. 合理使用索引提升效率(索引的本质是提高效率的机制,本质上是一棵树)

    • 为经常出现在where子句中的列创建索引

    • 为经常出现在order by,distinct中的字段建立索引

    • 不要经常在DML的表上建立索引(容易造成索引不准,解决方法为rebuild重新建立,任何 DML操作都是更新index,这是代价)

    • 不要在小表上简历索引(索引简历和维护也是要消耗资源的,小表上建立索引会造成索引的维护时间大于数据查询时间)

    • 限制表上的索引数目,索引并不是越多越好(索引会占用表空间,还要额外的维护)

    • 删除很少被使用的,不合理的索引

1 0