数据库知识点整理

  • 分类
  • 查询优化
  • 性能优化
  • 索引
  • 事务
  • 面经

1、分类

关系型数据库

1)mysql
2)sqlserver

非关系型数据库

1)键值对数据库:redis、memcache
2)列存储数据库:hbase
3)文档型数据库:mongdb
4)图形数据库:graph


2、查询优化

逻辑层查询优化

1.尽可能的早做选择和投影(基本思路):可以使中间结果变小,节省几个数量级的执行时间
2.把选择和投影串接起来:一元运算序列可一起执行,只需对整个关系进行一趟扫描
3.把投影与其前或后的二元运算结合:在第一次用关系时去掉一些无关属性,可以避免多次扫描整个关系
4.把某些选择与其前的笛卡尔积合并成一个连接:当RxS前有选择运算且其中条件是R,S属性间比较运算的时。可以将其转换为连接运算节省时间
5.执行连接运算前对关系做适当的预处理:排序,索引
6.找出表达式里的公共子表达式:若公共的子表达式结果不大,则预先计算,以后直接读入结果,尤当视图情况下使用

物理层查询优化

DBMS(DataBase Management System)衡量物理查询计划的优劣,I/O 访问次数,cpu占用时间,网络通信量等。


3、查询优化

影响因素

  • 磁盘IO
  • 网络IO吞吐量

优化方法

  • 扩大虚拟内存,并保证有足够的可以扩充的空间
  • 关闭数据库服务器上不必要的服务
  • 数据库服务器和主域服务器分开
  • 数据库服务器的吞吐量调为最大

调整数据库

  • 只建立一个聚簇索引
  • 为经常查询的列都建立索引
  • 不要建立太多的索引
  • 避免为大型数据类型的列建立索引

使用存储过程

猜你喜欢

转载自blog.csdn.net/u012277608/article/details/82586242