自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL優(yōu)化之不“畫蛇添足”

數(shù)據(jù)庫(kù) SQL Server
多小伙伴可能都知道這兩個(gè)方法,但是為什么這么做可能還是不太清楚,下面就讓我們看相關(guān)示例來(lái)給大家具體解釋一下。

 [[398720]]

本文轉(zhuǎn)載自微信公眾號(hào)「SQL數(shù)據(jù)庫(kù)開發(fā)」,作者 丶平凡世界 。轉(zhuǎn)載本文請(qǐng)聯(lián)系SQL數(shù)據(jù)庫(kù)開發(fā)公眾號(hào)。

SQL優(yōu)化的方法有很多,今天給大家介紹一下兩個(gè)簡(jiǎn)單但非常實(shí)用的方法:不查詢多余的行和列。很多小伙伴可能都知道這兩個(gè)方法,但是為什么這么做可能還是不太清楚,下面就讓我們看相關(guān)示例來(lái)給大家具體解釋一下。

1、不查多余的列

查詢過(guò)程中經(jīng)常為了省事,而直接使用*來(lái)代替所有的列,好處是不需要寫明列。壞處就是遇到列比較多的表查詢效率就大大折扣了。例如:

  1. SELECT * FROM [Sales].[SalesOrderDetail]; 

我們執(zhí)行一下可以看到如下信息:

Q:上面的消息界面是怎么出來(lái)的呢?

A:點(diǎn)擊菜單欄的查詢——查詢選項(xiàng)...——高級(jí),將SET STATISTICS TIME和SET STATISTICS IO都勾選上就可以了

上面的相關(guān)信息我給大家解讀一下:

掃描計(jì)數(shù):索引或表掃描次數(shù)

邏輯讀?。簲?shù)據(jù)緩存中讀取的頁(yè)數(shù)

物理讀取:從磁盤中讀取的頁(yè)數(shù)

預(yù)讀:查詢過(guò)程中,從磁盤放入緩存的頁(yè)數(shù)

lob邏輯讀?。簭臄?shù)據(jù)緩存中讀取,image,text,ntext或大型數(shù)據(jù)的頁(yè)數(shù)

lob物理讀取:從磁盤中讀取,image,text,ntext或大型數(shù)據(jù)的頁(yè)數(shù)

lob預(yù)讀:查詢過(guò)程中,從磁盤放入緩存的image,text,ntext或大型數(shù)據(jù)的頁(yè)數(shù)

語(yǔ)句的CPU時(shí)間分編譯階段和執(zhí)行階段。

CPU時(shí)間是指:執(zhí)行語(yǔ)句的時(shí)間

占用時(shí)間是指:從磁盤讀取數(shù)據(jù)再處理總的使用時(shí)間

編譯階段:

SQL Server 分析和編譯時(shí)間:

執(zhí)行階段:

SQL Server 執(zhí)行時(shí)間:

這些信息我們以后都會(huì)經(jīng)??吹降?,這是判斷一個(gè)查詢語(yǔ)句最直觀的方式。

我們?cè)賳为?dú)查詢一列看會(huì)怎么樣?例如:

  1. SELECT UnitPrice FROM [Sales].[SalesOrderDetail]; 

我們執(zhí)行一下可以看到如下信息:

通過(guò)上面的時(shí)間對(duì)比我們就可以清楚的看到:將列名明確的列出,不顯示不相關(guān)的列效率有很大的提升。

這里就是大家經(jīng)??吹降囊粭l優(yōu)化建議:不要直接使用*進(jìn)行查詢,而只查詢需要的列。

當(dāng)然如果本身有需要查看全表內(nèi)容,就不在此條優(yōu)化之列了。

2、不查多余的行

  • 在查詢的時(shí)候使用WHERE關(guān)鍵字可以很好的過(guò)濾掉不需要的行。這也是提高查詢效率的一種方式,其實(shí)這才是WHERE關(guān)鍵字存在的意義。

例如:

  1. SELECT UnitPrice FROM [Sales].[SalesOrderDetail] WHERE UnitPrice>1000; 

我們執(zhí)行一下可以看到如下信息:

所占用的時(shí)間成倍的減少,效果顯而易見。

  • 使用DISTINCT關(guān)鍵字減少多余重復(fù)的行。

例如:

  1. SELECT DISTINCT UnitPrice 
  2. FROM [Sales].[SalesOrderDetail] 
  3. WHERE UnitPrice>1000; 

我們執(zhí)行一下可以看到如下信息:

我們發(fā)現(xiàn),在某些情況下DISTINCT也可以加快數(shù)據(jù)的查詢效率。

 

責(zé)任編輯:武曉燕 來(lái)源: SQL數(shù)據(jù)庫(kù)開發(fā)
相關(guān)推薦

2021-06-09 09:19:39

SSL證書數(shù)據(jù)安全公鑰

2015-05-14 16:19:40

2018-01-09 16:56:32

數(shù)據(jù)庫(kù)OracleSQL優(yōu)化

2021-07-16 23:01:03

SQL索引性能

2023-10-09 07:42:49

PawSQL數(shù)據(jù)庫(kù)管理

2018-04-19 09:02:14

SQL ServerSQL性能優(yōu)化

2023-11-28 07:54:18

2021-07-26 18:23:23

SQL策略優(yōu)化

2018-10-19 12:47:35

MySQLSQL優(yōu)化數(shù)據(jù)庫(kù)

2018-03-30 14:30:10

數(shù)據(jù)庫(kù)SQL語(yǔ)句性能優(yōu)化

2023-10-23 09:19:47

PawSQL數(shù)據(jù)庫(kù)

2023-11-07 07:50:55

LIMIT子句下推優(yōu)化

2018-03-30 13:59:22

數(shù)據(jù)庫(kù)SQL語(yǔ)句性能優(yōu)化

2012-02-27 09:30:22

JavaScript

2017-09-05 12:44:15

MySQLSQL優(yōu)化覆蓋索引

2022-09-28 11:34:27

用戶行為數(shù)據(jù)業(yè)務(wù)

2011-08-03 13:32:00

SQL Server優(yōu)化

2009-10-20 18:32:25

Oracle 10g

2022-07-05 21:31:21

索引SQL分庫(kù)分表

2011-06-22 17:11:18

SEO
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)