数据库优化(数据索引)

Posted yzm97

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库优化(数据索引)相关的知识,希望对你有一定的参考价值。

首先我们要了解SQLserver 的

技术图片

 

技术图片

 

 执行计划

 可以缓存,存储过程/参数化查询

比如:当你在SQL中数据   

  select * from User where id=1 

   select * from User where id=2

这两句T-SQL执行计划中是两个不一样的数据

  select * from User where id=@id

使用 SqlParameter 是使用相同的执行计划在下次查询的时候会更加快速

数据库是什么?

数据库:  

   应用程序,有序的数据管理----数据在硬盘(持久化;唯一的,多线程操作需要加锁;速度慢,可以SSD加快速度)

1000W的数据大小约等于---2G 打开都是很慢或者打不开,,如何加快查询数据-----索引

数据库是如何存储的

数据如何存储

技术图片

 

 

  数据会在硬盘上创建连续的Page 每个Page大小8kb(相对于每个字段的大小为8kb)

  *8kb/page  任何一条数据不能跨页存储:数据长度不能超过8096,char varchar max就是8096

  text存储超过8kb,会存在另外一个page,数据页只存储位置(效率肯定很低)(分配连续的多个数据页page保存地址)

  int/DateTime:可以放入一个page(设计数据库时候,字段类型空间范围尽量小一点)

  Extent 扩展区  N个扩展区就是堆

  

 

 

  技术图片   管理数据页,记录好数据页在硬盘的具体位置

 

      IAM Page 管理数据页 数据页里面的路径和具体位置,如果丢失所有的数据将没有任何意义也找不到在哪里

 

 技术图片 文本图像页 像text等等文本超过8kb的数据   他的查找首先通过Page页找到索引在通过索引在找到文本图像页 数据非常慢

 

技术图片   索引页:数据&位置   

 

                索引是一个独立的,重复的存储;体积小,扫描快

   他们的数据都是重复的,IndexPage的数据都是来自page页面

 

以上是关于数据库优化(数据索引)的主要内容,如果未能解决你的问题,请参考以下文章

数据库查询优化方法数据库查询优化方法

性能优化之数据库优化

性能优化3--数据库优化

SQL Server 索引优化-----数据库引擎优化顾问

mysql对于大量数据,怎么进行优化

1.数据库优化之索引