当前位置: 首页 > article >正文

sql server索引优化语句

第一步 建一个测试表

--create table TestUsers
--(
--    Id int primary key identity(1,1),
--    Username varchar(30) not null,
--    Password varchar(10) not null,
--	  CreateDateTime  datetime not null
--)

第二步 插入100w数据 大概1分钟执行时间

----插入数据
declare @id int, @username varchar(100), @password varchar(10)
set @id=0
set @username='user'
set @password='pwd_'
while @id<1000000
begin
insert into TestUsers(Username,Password,CreateDateTime)
values (@username+convert(varchar(100),@id),@password+convert(varchar(100),@id),GETDATE())  
set @id=@id + 1
end

第三步 开始针对测试建立相应索引 可以直接数据库在表 索引中创建
在这里插入图片描述
也可以使用 create index 语句去创建索引,这个就根据自己的测试来删除建立聚集 非聚集索引了

第四步 开始执行sql查看索引效果 需要一个查询执行时间来看

declare @d datetime 
set @d=getdate()   
--你具体的select 语句
--select id,username from TestUsers where id>10
select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate()) 

第五步 查看现有的索引信息 利用系统存储过程查看 是什么类型的 哪些字段
exec dbo.sp_helpindex TestUsers

接下里 就是测试各种索引的花费情况
  1. 主键默认的 聚集索引 来查看100w数据
    select * from TestUsers 不带列名全局查询
    在这里插入图片描述
    select id,username,password,createdatetime from TestUsers 带列名查询
    在这里插入图片描述
    通过执行计划可以看到 这都是用的 主键的聚集索引
    在这里插入图片描述
    可以试着写不同的语句 来查看 对应的执行情况 以及是不是使用了索引
    那么现在把聚集索引删掉,主键 设置唯一 非聚集索引看下效果

http://www.kler.cn/a/445934.html

相关文章:

  • 点击展示大图预览
  • 【前端】vue数组去重的3种方法
  • web自动化测试知识总结
  • vue预览和下载 pdf、ppt、word、excel文档,文件类型为链接或者base64格式或者文件流,
  • STL--函数对象
  • pip使用方法
  • Tomcat10安装报错Unknown module: java.rmi specified to --add-opens
  • nginx-虚拟主机配置笔记
  • Python TXT文件按条件批量删除行工具
  • 静态socks5代理ip 帮助您找到最合适的ip代理服务
  • 通过阿里云 Milvus 与 PAI 搭建高效的检索增强对话系统
  • JVM基本机制
  • Java 网络编程 ①-TCP || UDP || Socket
  • [搜广推]王树森推荐系统——矩阵补充最近邻查找
  • 深度解析 HarmonyOS 中的 RichEditor:实现图文混排与交互式编辑的利器
  • GO环境安装和配置
  • Linux Systemd基础教程
  • 【Linux】磁盘空间莫名消失,找不到具体原因的思路
  • CSS(13):2D
  • Tomcat原理(5)——tomcat最终实现
  • 短视频矩阵系统源码搭建指导
  • 网络安全概论——TCP/IP协议族的安全性
  • mybatis 的动态sql 和缓存
  • WPF实现曲线数据展示【案例:震动数据分析】
  • 【常微分方程讲义1.1】方程的种类发展与完备
  • 5G 模组 RG500Q常用AT命令