• 数据库优化


    1、为什么要写这个

    需求推动技术学习得动力。
    

    2、数据库优化方向

    1) SQL语句和索引
    2)数据表结构
    3)系统配置
    4)硬件
    从上往下,成本由低到高。
    

    3、根据索引优化

    在说索引之前,先说下数据库是如何查数据库的,在这里以Sql Server为例

    数据读取,分为:物理读取、逻辑读取、和预读取

    预读取:根据数据库生成的查询计划,判断从物理磁盘中读取多少数据

    物理读取:数据初始是存在磁盘中的,所以第一次读取数据,要将数据从磁盘中读到内存中。SQL Server 物理读取数据是按照页读取的,每页大概8KB

    逻辑读取:就是从内存中根据条件筛选数据

    如何理解索引:
    理解索引的方式:就像我们查字典一样,索引就相当于字典的目录,我们可以根据拼音查询,或者根据偏旁查询
    索引又分为:聚集索引 和 非聚集索引
    
    聚集索引:何为聚集索引,就是具有物理性质的索引。此索引和数据顺序一致,而存到数据库表中的数据顺序只会有一个,所以聚集索引也只能有
    一个。
    
    非聚集索引:逻辑上的索引。对任一一个字段进行排序后的索引,所以该索引可以有多个。
    
    使用索引的好处:就像查汉语字典一样 ,按照拼音查,或者偏旁查,会很快查到对应的字,所以就是查询效率就会快。
    使用索引的缺点:当字典有目录的时候,字典就会变厚,变重,同样,数据库中的索引,也会占有空间,同时对数据的增加、删除和修改,效率会下降。
    比如你要删除字典中的一个字,你既要删除这个字,又要更新目录,所以会影响,数据库增加、删除和更新的效率,有解决的办法,随后再说。
    
    什么字段上创建索引
    
    - 主键或者外键
    - 关联表的字段上创建索引
    - 被经常当作查询条件的字段
    - 被当索引的字段的长度应该尽量小
    
    什么时候用聚集索引或非聚集索引	
    
    场景 是否使用聚集索引 是否使用非聚集索引
    列经常被分组排序
    返回某范围内的数据
    频繁更新的列
    主键列
    外键列
    以上内容仅供参考。
    

    创建索引

    通过语句进行创建

    SQL Server 数据库下:
    聚集索引:Create	clustered index indexName on Table(columnName)
    非聚集索引:Create noclustered index indexName on Table(columnName)
    删除索引:drop index Table.indexName
    

    通过UI创建

    通过数据库引擎优化顾问协助创建索引

       SQL Server 打开引擎优化顾问,设置相关配置,然后可以生成优化建议,包括分区建议,和索引建议。
    
    以上内容主要是数据优化中,自己对索引作用,和创建的总结,下一篇,SQL优化。
  • 相关阅读:
    构建之法阅读笔记02
    4.7-4.13 第八周总结
    构建之法阅读笔记01
    顶会热词统计
    结对作业-四则运算升级版
    3.31-4.5 第七周总结
    大道至简阅读笔记03
    3.23-3.30 第六周总结
    第7周总结
    人月神话阅读笔记之三
  • 原文地址:https://www.cnblogs.com/xiaoqiyaozou/p/12656538.html
Copyright © 2020-2023  润新知