成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL查詢效率:100w數據查詢只需要1秒鐘

數據庫
當代是一個高速發展的社會,什么事都講求效率,SQL查詢更是追求高效的效率,那么如何實現SQL查詢的高效呢?下文中就為大家介紹一種提高效率的方法。

關于SQL查詢效率,100w數據,查詢只要1秒,您相信嗎?大家都知道,現在的數據庫儲存容量是越來越大,數據庫的查詢效率可能在一定程度上有所降低,現在的技術是飛速發展進步,實現100w數據查詢只需要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 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 90000 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都是***效的。因為它對子查詢中的表執行了一個全表遍歷。

建立合理的索引,避免掃描多余數據,避免表掃描!

幾百萬條數據,照樣幾十毫秒完成查詢。

【編輯推薦】

  1. 提高MySQL數據庫查詢效率的技巧(三)
  2. 如何在MySQL查詢結果集中得到記錄行號
  3. 實例講解如何配置MySQL數據庫主從復制
責任編輯:迎迎 來源: 賽迪網
相關推薦

2009-04-09 16:52:47

LinuxUbuntu 9.04

2021-06-23 06:48:42

秒殺Java電商

2018-03-07 10:03:40

2010-03-16 16:47:25

Ubuntu 9.04

2019-09-16 09:34:39

2023-10-11 12:45:49

Windows系統

2021-02-03 11:20:41

Docker架構容器

2019-08-23 09:03:04

盤口數據數據庫緩存

2010-09-25 09:12:44

SQL Server

2024-04-26 00:03:00

計算機CPU關系

2017-01-16 09:14:35

2019-11-27 09:48:04

數據ESHBase

2010-09-25 16:47:51

SQL查詢

2020-04-20 15:10:19

Redis內存數據庫

2025-06-03 02:10:00

2009-07-06 15:50:01

微軟Windows 7操作系統

2013-09-08 22:40:38

EF Code Fir數據查詢架構設計

2023-05-23 10:01:51

冪等性抽象代數

2024-06-18 08:46:06

2020-11-26 15:51:11

SQL數據庫大數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕高清视频 | 日韩电影免费观看中文字幕 | 欧洲精品视频一区 | av三级在线观看 | 在线国产视频 | www国产亚洲精品久久网站 | 欧美日日 | 日韩一区二区三区四区五区六区 | www国产成人免费观看视频,深夜成人网 | 国产97久久 | 毛片av免费看 | 亚洲av一级毛片 | 日韩久久久久久 | 国产一二三区精品视频 | 在线观看你懂的网站 | 精品一区二区在线看 | 大香网伊人 | 国产色黄 | 国产一区欧美 | 欧美日韩高清在线一区 | 日本一区二区在线视频 | 精品国产一区二区三区久久影院 | 亚洲a网 | 久久新| 亚洲精品在线免费观看视频 | 欧美aaaaaa| 久精品久久 | 国产精品久久 | 久久一 | 九九久久精品 | 亚洲乱码一区二区 | 久久在线看 | 欧美xxxⅹ性欧美大片 | 成人免费大片黄在线播放 | 国产精品久久久久久久三级 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | av在线二区 | 国产剧情久久 | 先锋av资源网 | 四虎最新视频 | 国产高清在线 |