SlideShare a Scribd company logo
STUDY4.TW
為技術而學,為學習而生
從 SARG 談 SQL 撰寫
OPTIMIZATION PROCESS

Parsing

Standardization

Query
optimization

Compilation
OPTIMIZATION CONSIDERATIONS

Indexes
Column statistics
Join strategies
WHAT IS SARG

SARG = Search Argument
有效地 SARG 撰寫原則如下
• 是否有 WHERE 條件
• 使用 Exact match (= )
• 使用區間查詢 (between, >, <, >=, <=)
• 使用 AND,注意 LIKE 的使用方式
DATABASE-WIDE STATISTICS OPTIONS

AUTO_CREATE_STATISTICS

AUTO_UPDATE_STATISTICS
AUTO_UPDATE_STATISTICS_ASYNC
查詢統計資訊

DBCC SHOW_STATISTICS
STATS_DATE
dm_db_stats_properties
分析查詢

顯示估計執行計畫

包括實際執行計畫
DATA TYPE PRECEDENCE

xml

date

float

int

text

nchar

char

binary
S2-3213 103/01/02 10.00 閘門1
S2-3213 103/01/02 10.05 閘門2
S2-3213 103/01/02 10.08 閘門3
A1

10
12
08

C1
S8-5512 103/01/02 09.00 閘門1
S8-5512 103/01/02 09.09 閘門2

C2

B1

B2
C3

A2

10
12

A3-2266 103/01/04 12.08 閘門1

eTag

10

More Related Content

Similar to SQL 語法入門 - SARG

COSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 GreenplumCOSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 Greenplum
Omni-Alex Chen
 
自下而上的数据仓库构建方法
自下而上的数据仓库构建方法自下而上的数据仓库构建方法
自下而上的数据仓库构建方法
tongxiaojun
 
11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert system
ted-xu
 
Apache IoTDB 工业互联网时序数据库 meetup-2019.12
Apache IoTDB 工业互联网时序数据库 meetup-2019.12Apache IoTDB 工业互联网时序数据库 meetup-2019.12
Apache IoTDB 工业互联网时序数据库 meetup-2019.12
jixuan1989
 
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese VersionKid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese Version
Frank S.C. Tseng
 
香港六合彩
香港六合彩香港六合彩
ev2oik
ev2oikev2oik
香港六合彩
香港六合彩香港六合彩
香港六合彩
aaveow
 
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon data
boxu42
 
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器Leyi (Kamus) Zhang
 
Spark tutorial
Spark tutorialSpark tutorial
Spark tutorial
Lin JiaMing
 
淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林
Shaoning Pan
 
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介
Herman Wu
 
Oracle数据库体系结构简介.ppt
Oracle数据库体系结构简介.pptOracle数据库体系结构简介.ppt
Oracle数据库体系结构简介.pptjames tong
 
腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析George Ang
 
#Lamp人#淘宝数据魔方的系统架构 -长林
#Lamp人#淘宝数据魔方的系统架构  -长林#Lamp人#淘宝数据魔方的系统架构  -长林
#Lamp人#淘宝数据魔方的系统架构 -长林drewz lin
 
腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析topgeek
 
腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析areyouok
 
Sql语句编写优化和基本原理总结
Sql语句编写优化和基本原理总结Sql语句编写优化和基本原理总结
Sql语句编写优化和基本原理总结
wangchongan
 

Similar to SQL 語法入門 - SARG (20)

COSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 GreenplumCOSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 Greenplum
 
自下而上的数据仓库构建方法
自下而上的数据仓库构建方法自下而上的数据仓库构建方法
自下而上的数据仓库构建方法
 
11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert system
 
Apache IoTDB 工业互联网时序数据库 meetup-2019.12
Apache IoTDB 工业互联网时序数据库 meetup-2019.12Apache IoTDB 工业互联网时序数据库 meetup-2019.12
Apache IoTDB 工业互联网时序数据库 meetup-2019.12
 
Kid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese VersionKid171 chap03 traditional Chinese Version
Kid171 chap03 traditional Chinese Version
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
ev2oik
ev2oikev2oik
ev2oik
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon data
 
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器
 
Spark tutorial
Spark tutorialSpark tutorial
Spark tutorial
 
淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林
 
Design Pattern
Design PatternDesign Pattern
Design Pattern
 
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介
 
Oracle数据库体系结构简介.ppt
Oracle数据库体系结构简介.pptOracle数据库体系结构简介.ppt
Oracle数据库体系结构简介.ppt
 
腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析
 
#Lamp人#淘宝数据魔方的系统架构 -长林
#Lamp人#淘宝数据魔方的系统架构  -长林#Lamp人#淘宝数据魔方的系统架构  -长林
#Lamp人#淘宝数据魔方的系统架构 -长林
 
腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析
 
腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析腾讯大讲堂48 数据库查询优化浅析
腾讯大讲堂48 数据库查询优化浅析
 
Sql语句编写优化和基本原理总结
Sql语句编写优化和基本原理总结Sql语句编写优化和基本原理总结
Sql语句编写优化和基本原理总结
 

More from Study4TW

使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
Study4TW
 
Bruce-輕鬆上手Asp.net web api 2.1.2
Bruce-輕鬆上手Asp.net web api 2.1.2Bruce-輕鬆上手Asp.net web api 2.1.2
Bruce-輕鬆上手Asp.net web api 2.1.2
Study4TW
 
James-版本控制
James-版本控制James-版本控制
James-版本控制
Study4TW
 
windows phone 8.1 新功能與跨平台開發
windows phone 8.1 新功能與跨平台開發windows phone 8.1 新功能與跨平台開發
windows phone 8.1 新功能與跨平台開發
Study4TW
 
ASP.NET MVC 快速上手
ASP.NET MVC 快速上手ASP.NET MVC 快速上手
ASP.NET MVC 快速上手
Study4TW
 
使用Visual Studio 2010開發SQL
使用Visual Studio 2010開發SQL使用Visual Studio 2010開發SQL
使用Visual Studio 2010開發SQL
Study4TW
 
Asp.Net MVC 4概念與新功能探討
Asp.Net MVC 4概念與新功能探討Asp.Net MVC 4概念與新功能探討
Asp.Net MVC 4概念與新功能探討
Study4TW
 
Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手
Study4TW
 
Visual Studio 2013 新功能
Visual Studio 2013 新功能Visual Studio 2013 新功能
Visual Studio 2013 新功能
Study4TW
 
使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發
Study4TW
 
真實環境的Asp.net MVC
真實環境的Asp.net MVC真實環境的Asp.net MVC
真實環境的Asp.net MVC
Study4TW
 

More from Study4TW (11)

使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
使用下一代的Visual studio 14開發下一代的asp.net mvc v next ( mvc 6 )
 
Bruce-輕鬆上手Asp.net web api 2.1.2
Bruce-輕鬆上手Asp.net web api 2.1.2Bruce-輕鬆上手Asp.net web api 2.1.2
Bruce-輕鬆上手Asp.net web api 2.1.2
 
James-版本控制
James-版本控制James-版本控制
James-版本控制
 
windows phone 8.1 新功能與跨平台開發
windows phone 8.1 新功能與跨平台開發windows phone 8.1 新功能與跨平台開發
windows phone 8.1 新功能與跨平台開發
 
ASP.NET MVC 快速上手
ASP.NET MVC 快速上手ASP.NET MVC 快速上手
ASP.NET MVC 快速上手
 
使用Visual Studio 2010開發SQL
使用Visual Studio 2010開發SQL使用Visual Studio 2010開發SQL
使用Visual Studio 2010開發SQL
 
Asp.Net MVC 4概念與新功能探討
Asp.Net MVC 4概念與新功能探討Asp.Net MVC 4概念與新功能探討
Asp.Net MVC 4概念與新功能探討
 
Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手Asp.Net MVC 一教就上手
Asp.Net MVC 一教就上手
 
Visual Studio 2013 新功能
Visual Studio 2013 新功能Visual Studio 2013 新功能
Visual Studio 2013 新功能
 
使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發
 
真實環境的Asp.net MVC
真實環境的Asp.net MVC真實環境的Asp.net MVC
真實環境的Asp.net MVC
 

SQL 語法入門 - SARG