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

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.lryc.cn/news/507461.html

相关文章:

  • 深度学习之超分辨率算法——SRGAN
  • 16.2、网络安全风险评估技术与攻击
  • 【项目管理】GDB调试
  • ChatGPT生成接口测试用例(一)
  • 2024 年 IA 技术大爆发深度解析
  • 如何进行js后台框架搭建(树形菜单,面包屑,全屏功能,刷新功能,监听页面刷新功能)
  • 多目标优化常用方法:pareto最优解
  • Vue.js实例开发-如何通过Props传递数据
  • 由popover框一起的操作demo问题
  • 人工智能ACA(四)--机器学习基础
  • uniapp图片数据流���� JFIF ��C 转化base64
  • django中cookie与session的使用
  • <项目代码>YOLO Visdrone航拍目标识别<目标检测>
  • GhostRace: Exploiting and Mitigating Speculative Race Conditions-记录
  • OPPO 数据分析面试题及参考答案
  • 腾讯云云开发 Copilot 深度探索与实战分享
  • Mac M1使用pip3安装报错
  • flask-admin的modelview 实现list列表视图中扩展修改状态按钮
  • 算法训练第二十三天|93. 复原 IP 地址 78. 子集 90. 子集 II
  • imu相机EKF
  • 【杂谈】虚拟机与EasyConnect运行巧设:Reqable助力指定应用流量专属化
  • 【AI系列】Paddle Speech安装指南
  • 【AI学习】OpenAI推出o3,向AGI迈出关键一步
  • 深度学习0-前置知识
  • Elasticsearch-分词器详解
  • Android-相对布局RelativeLayout
  • Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
  • 在Linux中使用`scp`进行远程目录文件复制
  • VisionPro 机器视觉案例 之 连接件测量
  • C++ 中面向对象编程中对象的状态存储与恢复的处理