添加聚集索引后高效分页查询的效率

2024-03-12 01:38

本文主要是介绍添加聚集索引后高效分页查询的效率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本人使用的是sql 2012数据库

ALTER proc [dbo].[ex2](@count int --次数
)
as
begin
declare @i int
set @i = 0
while @i < @count
begin
SELECT * FROM product0   WHERE[bName] like  '%23%'Order by grade desc,createTime desc OFFSET 4 ROWS FETCH NEXT 3 ROWS ONLY ;
set @i = @i + 1
end
end

100次 用时82秒,通过为grade添加聚集索引,用时 84秒

GO
ALTER proc [dbo].[ex3](@count int --次数
)
as
begin
declare @i int
set @i = 0
while @i < @count
begin
SELECT * FROM product0 w1   WHERE id in   (  SELECT top 3 id FROM   (  SELECT top 7 ID, grade,createTime FROM product0 where [bName] like  '%23%' and[pName] like  '%%' and[find0] like  '%%' and[find1] like  '%%' ORDER BY grade desc) w order by grade,createTime DESC) order by grade desc,createTime DESC
set @i = @i + 1
end
end

100次 用时86秒,通过为grade添加聚集索引,用时 7秒

查询1000的后三条数据,效率比较

GO
ALTER proc [dbo].[ex1](@count int --次数
)
as
begin
declare @i int
set @i = 0
while @i < @count
begin
SELECT * FROM product0 w1, 
(SELECT TOP 3 id FROM (SELECT TOP 1000 id, grade,createTime FROM product0where[bName] like  '%23%' and[pName] like  '%%' and[find0] like  '%%' and[find1] like  '%%' ORDER BY grade DESC) w ORDER BY grade ASC 
) w2 WHERE w1.id = w2.id ORDER BY w1.grade DESC, w1.createTime desc
set @i = @i + 1
end
end

100次,添加gradle聚集索引,用时9秒

GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[ex3](@count int --次数
)
as
begin
declare @i int
set @i = 0
while @i < @count
begin
SELECT * FROM product0 w1   WHERE id in   (  SELECT top 3 id FROM   (  SELECT top 1000 ID, grade,createTime FROM product0 where [bName] like  '%23%' and[pName] like  '%%' and[find0] like  '%%' and[find1] like  '%%' ORDER BY grade desc) w order by grade) order by grade desc,createTime DESC
set @i = @i + 1
end
end

100次,添加gradle聚集索引,用时9秒

GO
ALTER proc [dbo].[ex2](@count int --次数
)
as
begin
declare @i int
set @i = 0
while @i < @count
begin
SELECT * FROM  (SELECT TOP 3 * FROM (SELECT TOP 1000 * FROM product0where [bName] like  '%23%' and[pName] like  '%%' and[find0] like  '%%' and[find1] like  '%%'ORDER BY grade DESC ) f ORDER BY f.grade ASC) s ORDER BY s.grade DESC ,s.createTime Desc
set @i = @i + 1
end
end

100次,添加gradle聚集索引,用时4秒

go
execute sp_helpindex @objname = 'product0'  --查看索引
godrop index product0.CLUSTER_id;  --删除索引
go
CREATE CLUSTERED INDEX CLUSTER_id ON product0(grade) --创建索引

本人通过添加和删除聚集索引发现:使用SQL server 2012提供的 OFFSET 4 ROWS FETCH NEXT 3 ROWS ONLY 的查询语句,在速率上没有明显的提示。

这篇关于添加聚集索引后高效分页查询的效率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/799746

相关文章

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

ural 1026. Questions and Answers 查询

1026. Questions and Answers Time limit: 2.0 second Memory limit: 64 MB Background The database of the Pentagon contains a top-secret information. We don’t know what the information is — you

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

Mybatis中的like查询

<if test="templateName != null and templateName != ''">AND template_name LIKE CONCAT('%',#{templateName,jdbcType=VARCHAR},'%')</if>