数据库优化(数据索引)

首先我们要了解SQLserver 的

数据库优化(数据索引)

数据库优化(数据索引)

 执行计划

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

比如:当你在SQL中数据   

select * from User where id=1 

   select * from User where id=2

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

select * from User where

使用 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页面