SQL查询效率:100w数据查询只需要1秒钟

LangChain实战:用FAISS搭建本地文档问答系统(含Word文件处理避坑指南) 本文详细介绍了如何利用LangChain框架和FAISS向量数据库构建本地化智能文档问答系统,特别针对Word文档处理中的技术难点提供实用解决方案。通过模块化设计、本地化支持和多格式兼容,实现高效文档处理与精准问答,满足企业对数据隐私和安全的需求。 阅读详情

来自:http://www.cnblogs.com/chuncn/archive/2009/04/21/1440322.html 

机器情况
p4: 2.4
内存: 1 G
os: windows 2003
数据库: ms sql server 2000
目的: 查询性能测试,比较两种查询的性能

SQL查询效率 step by step

-- setp 1.
-- 建表
create table t_userinfo
(
userid int identity(1,1) primary key nonclustered,
nick varchar(50) not null default '',
classid int not null default 0,
writetime datetime not null default getdate()
)
go

-- 建索引
create clustered index ix_userinfo_classid on t_userinfo(classid)
go

-- step 2.

declare @i int 
declare @k int
declare @nick varchar(10)
set @i = 1
while @i<1000000
begin
set @k = @i % 10
set @nick = convert(varchar,@i)
insert into t_userinfo(nick,classid,writetime) values(@nick,@k,getdate())
set @i = @i + 1
end
-- 耗时 08:27 ,需要耐心等待

-- step 3.
select top 20 userid,nick,classid,writetime from t_userinfo 
where userid not in
(
select top 900000 userid from t_userinfo order by userid asc
)

-- 耗时 8 秒 ,够长的

-- step 4.
select a.userid,b.nick,b.classid,b.writetime from
(
select top 20 a.userid from 
(
select top 900020 userid from t_userinfo order by userid asc
) a order by a.userid desc
) a inner join t_userinfo b on a.userid = b.userid 
order by a.userid asc

-- 耗时 1 秒,太快了吧,不可以思议

-- step 5 where 查询
select top 20 userid,nick,classid,writetime from t_userinfo 
where classid = 1 and userid not in
(
select top 90000 userid from t_userinfo 
where classid = 1
order by userid asc
)
-- 耗时 2 秒

-- step 6 where 查询
select a.userid,b.nick,b.classid,b.writetime from
(
select top 20 a.userid from 
(
select top 900000 userid from t_userinfo
where classid = 1
order by userid asc
) a order by a.userid desc
) a inner join t_userinfo b on a.userid = b.userid 
order by a.userid asc

-- 查询分析器显示不到 1 秒.


查询效率分析:
子查询为确保消除重复值,必须为外部查询的每个结果都处理嵌套查询。在这种情况下可以考虑用联接查询来取代。

如果要用子查询,那就用EXISTS替代IN、用NOT EXISTS替代NOT IN。因为EXISTS引入的子查询只是测试是否存在符合子查询中指定条件的行,效率较高。无论在哪种情况下,NOT IN都是最低效的。因为它对子查询中的表执行了一个全表遍历。

建立合理的索引,避免扫描多余数据,避免表扫描!
几百万条数据,照样几十毫秒完成查询 

CREATE TABLE t_userinfo(
userid int identity(1,1) primary key nonclustered, 
nick varchar(50) not null default '',
classid int not null default 0,
writetime datetime not null default getdate())
go
-- 建索引
create clustered index ix_userinfo_classid on t_userinfo(classid)

declare @i int
declare @k int
declare @nick varchar(10)
set @i = 1
while @i<1000000
begin
set @k = @i % 10
set @nick = convert(varchar,@i)
insert into t_userinfo(nick,classid,writetime) values(@nick,@k,getdate())
set @i = @i + 1
end

select a.userid,b.nick,b.classid,b.writetime from
(
select top 20 a.userid from
(
select top 1000000 userid from t_userinfo
where classid = 1 and writetime>'2013-03-05 17:49:33.247' 
order by userid asc
) a order by a.userid desc
)a inner join t_userinfo b on a.userid = b.userid
order by a.userid asc

GO
select a.userid,b.nick,b.classid,b.writetime from
(
select top 20 a.userid from
(
select top 60 userid from t_userinfo
where 1=1
order by userid desc
)a order by a.userid asc
) a inner join t_userinfo b on a.userid = b.userid
order by a.userid asc


白话机器学习算法理论+实战番外篇之Xgboost 1. 写在前面 如果想从事数据挖掘或者机器学习的工作,掌握常用的机器学习算法是非常有必要的,在这简单的先捋一捋, 常见的机器学习算法: 监督学习算法:逻辑回归,线性回归,决策树,朴素贝叶斯,K近邻,支持向量机,集成算法Adaboost等 无监督算法:聚类,降维,关联规则, PageRank等 我前面已经尝试用最白话的语言完成了一个白话机器学习算法理论+实战系列,这个系列已经基本包含了上面这些算... 阅读详情

相关推荐

<硬件设计> 阻抗设计(二) 使用Si9000计算阻抗

阻抗设计(二) 使用Si9000计算阻抗

杰克拉力船长个人博客 1万+

ThinkPHP6.0将30万数据从两秒的查询速度优化到一百多毫秒

今天分享使用tp6框架将30万表数据查询从2秒优化到100多毫秒的方法,若大佬还有更好方案,还往指教一、二,废话不多说直接上代码。二、创建一对一表关联model。三、在控制器进行一对一表的查询。“use”是获取外围传入的值。最后给大家看看测试的结果。一、给建立的表加入索引。...

qq_38398347的博客 3792

避开RK3588开发板SDIO配置的坑:O9201SB WiFi模组接入实战指南

本文为嵌入式开发者提供了在RK3588开发板上,利用TF卡槽接入O9201SB WiFi6模组的实战指南。文章深度剖析了SDIO配置中常见的电源管理序列冲突问题,并给出了从设备树节点修改、内核编译到系统验证的完整解决方案,帮助开发者避开配置陷阱,成功实现高性能无线连接。

sprite的博客 954

千万级oracle数据表定时同步到mysql表的方案

千万级oracle数据表定时同步到mysql表的方案

wang5701071的博客 2748

语义通信理论必看论文:Towards a Theory of Semantic Communication

了解语义通信发展必看的一篇文章

一去不复返的通信er 3924

应用处理器(AP)、系统级芯片(SoC)与微控制器(MCU)的区别与联系

应用处理器(AP)、系统级芯片(SoC)与微控制器(MCU)的区别与联系

a_zxswer的博客 1687

仅使用Dveaver(无需借助其他工具)一分钟导完/同步完几十万条数据

1、在当前连接上执行sql语句查询出要导出的记录 2、鼠标右击,选择【导出结果集】 3、在【数据转化】页选择我们该次的导出方式->【数据库表】; 4、在这里选中我们要转移到的目标表; 5、依次选择我们的查询结果将要导入的相应字段; 6、一直点击下一步,知道出现【开始】按钮,即可开始进行数据同步; 7、完成后刷新即可看到我们同步好的数据; ...

z19950712的博客 1万+

【音视频基础】一篇搞懂视频的各种封装格式

在现代多媒体处理中,视频封装格式扮演着至关重要的角色。不同的封装格式决定了视频文件的存储方式、兼容性以及功能特性。无论是观看高清视频、编辑电影剪辑,还是在互联网上流式传输内容,理解各种视频封装格式的基础知识都是必不可少的。在这篇文章中,我们将详细介绍常见的视频封装格式,探讨为什么需要这些格式,以及它们各自的功能和区别,帮助你在选择和使用视频格式时做出更明智的决定。WEBM理解各种视频封装格式的功能和区别对于选择合适的格式至关重要。

m0_62599305的博客 2474

mysql查询1万条数据要1秒钟_SQL查询效率:100w数据查询只需要1秒钟

机器情况p4:2.4内存:1Gos:windows2003数据库:mssqlserver2000目的:查询性能测试,比较两种查询的性能SQL查询效率stepbystep--setp1.--建表createtablet_userinfo(useridintidentity(1,1)primarykeynonclustered,nickvarchar(5...

weixin_39679370的博客 3159

以阿克曼转向车为例对URDF和XACRO文件进行解读

   最近我在古月学院购买了在Gazebo中实现阿克曼转向车的仿真课程,课程资料的阿克曼小车的XACRO文件在Gazebo里加载的时候报了三个错误,在这之前,我没接触过URDF或XACRO文件,本篇文章就以这个阿克曼小车的XACRO文件为例,对URDF或XACRO文件的格式和内容进行解读,期望经过解读和学习,找到错误原因及所在,并解决这三个错误    先来放一下上面右图所示的模型的完整的XACRO文件: <?xml version="1.0"?> <!-- racecar.urdf.x

慕羽★的博客 3699

避坑指南:新手爬百度图片3个致命错,改完批量保存本地(亲测有效)

新手爬百度图片的核心是“绕开静态HTML,抓准API接口+处理反爬+提取原图”,改完本文提到的3个核心错,就能稳定批量保存高清图片。这套思路可复用在其他图片网站(如必应图片、360图片),只需修改API接口和参数即可。如果想进一步优化,可添加代理IP池、多线程下载(新手不建议,容易触发反爬)、图片去重等功能!

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1586

mysql 100w 查询耗时4秒_SQL查询效率:100万数据查询只需要1秒钟

机器情况: p4: 2.4 内存: 1 G os: windows 2003 数据库: SQL Server 2000 目的: 查询性能测试,比较两种查询的性能SQL查询效率 step by step-- setp 1. -- 建表 create table t_userinfo ( userid int identity(1,1) primary key nonclustered, nick v...

weixin_31014131的博客 3208

【系统架构设计师-2026上半年真题】综合知识-参考答案及详解(75题完全回忆版)

【系统架构设计师-2026上半年真题】综合知识-参考答案及详解(75题完全回忆版)

数据知道的博客 3098

mysql查询1万条数据要1秒钟_SQL查询效率:100万数据查询只需要1秒钟

机器情况:p4: 2.4内存: 1 Gos: windows 2003数据库:SQL Server 2000目的: 查询性能测试,比较两种查询的性能SQL查询效率 step by step-- setp 1.-- 建表create table t_userinfo(userid int identity(1,1) primary key nonclustered,nick varchar(50) ...

weixin_35600177的博客 5904

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

100w数据查询只需要1秒钟

<br />机器情况: <br />p4: 2.4 <br />内存: 1 G <br />os: windows 2003 <br />数据库: <br />SQL Server 2000 <br />目的: 查询性能测试,比较两种查询的性能 <br />SQL查询效率 step by step <br />-- setp 1. <br />-- 建表 <br />create table t_userinfo <br />( <br />userid int identity(1,1) primary

C# SqlServer20005 891

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SQL查询效率:100万数据查询只需要1秒钟

机器情况: p4: 2.4 内存: 1 G os: windows 2003 数据库: SQL Server 2000 目的: 查询性能测试,比较两种查询的性能 SQL查询效率 step by step -- setp 1. -- 建表 create table t_userinfo ( userid int identity(1,1) primary key nonclustered, ni...

weixin_30600197的博客 919

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SQL中数据查询分页操作集中地

(转)查询 31到40条记录 的各种玩法(分页可以支持海量数据5百万,时间大约在1--5秒)--推荐 URL:http://blog.youkuaiyun.com/arvinstudy/article/details/8509766 SQL数据库中查找一条记录是否存在 count(推荐) URL:http://blog.youkuaiyun.com/arvinstudy/article/details/8489

码农 1038

OPERQUERY查询,关于效率,或者说正确用法

做过一个项目,需要在SQLSERVER创建对ORACLE的DBLINK然后通过OPERQUERY访问ORACLE查询记录并返回到SQLSERVER某表 ORACLE中的数据量在100W行左右,采用insert into T1(X1,X2,X3) SELECT * FROM OPENQUERY(XXXXX)的方式,效率很低,尤其是很多时候是按条件查询,只需要返回几条记录,却需要几十分钟,即便改成i

u013641136的博客 1743
上一篇: c#生成二维码
下一篇: 35个优秀的电子商务网站界面
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值