一、影响数据库的因素

1.系统硬件    

        CPU  内存   IO  网络

2.系统环境

       操作系统    数据库版本    操作系统参数配置    数据库的参数配置

3.系统的规模

      并发量    数据量   用户量

4.数据库内部因素

    查询效率(不合理的SQL语句、过多的表连接)

    表设计不合理    

    隐式转换(字段类型转换)

    统计信息

    锁信息

二、数据库优化目标

     1.提高系统的吞吐量

     2.缩短系统的响应时间

            有数据表明,用户发出请求后可以承受的等待时间是5-10秒。当一个应用,用户等待10秒还没有出来结果,用户就会失去信心。所以,除了个别的应用以外,必须优化应用,确保及时响应。

 

三、优化方向

  优化:硬件、系统配置、数据表结构、SQL语句和索引

           硬件:加内存、cpu

           系统配置:修改数据库的参数、配置等;

           数据表结构:设计合理不合理

           SQL语句和索引:优化语句写法、增加索引等

         数据库设计及优化

四、什么时候优化

   性能优化伴随着

系统计划和设计阶段以及整个应用的周期!

 

五、页与区

页:数据存储的基本单位(page),大小为8kb;

区:八个物理上连续的页的集合,用来有效的管理页;

     页类型: 1).数据页(是保存除text/ntext/image类型以外的数据行);

                     2). 索引页:保存索引信息;

                     3).页面可用空间页:保存可用页空间信息;

                     4).文本/图像页:保存text/ntext/image类型的数据;

                     5).全局分配映射页:保存已经分配的盘区信息;

                     6).索引分配映射页:保存一个表或者索引使用的盘区信息;

                     7).批量修改映射页:保存在上次backup/log时执行批量操作所修改的盘区信息;

                     8).差量修改映射页:保存上次backup/database差异备份时所修改的盘区信息。

需要注意:日志文件不包含页,而是包含一系列日志记录;

数据页

        数据页大小为8kb

               页面报头

               数据行

                行偏移矩阵

六、范式

  1.第一范式:强调的是列的原子性、即列不能够再分成其它列;

  2.第二范式:首先要满足它是1NF,另外还需要包含两部分内容:一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分;

  3.第三范式:首先是2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列A依赖于非主键列B,非主键列B依赖于主键的情况;

 

反范式设计

    不满足范式的模型,就是反范式模型。

    就是用空间来换取时间,把数据冗余在多个表中,当查询时可以减少或者是避免表之间的关联;

 

七、设计表的性能因素考虑

  1.适合的字段类型;

  2.主键:每张表都需要一个主键,用来标识唯一的一条数据;

  3.外键

  4.约束和规则

  合理的需求情况下字段尽量少,对频繁使用的大表进行分割,将不常使用的字段信息存在其它表中,将大对象的列和普通字段分离出来,放在单独的数据文件上。

相关文章:

  • 2021-08-07
  • 2021-11-13
  • 2021-11-13
  • 2021-08-14
  • 2021-11-02
  • 2021-11-07
  • 2021-04-26
猜你喜欢
  • 2021-09-27
  • 2021-05-20
  • 2021-06-22
  • 2021-12-27
相关资源
相似解决方案