1. 程式人生 > >King-Bond's Space

King-Bond's Space


步驟/方法
1
1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。  
資料庫查詢優化原則
2
2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:
  select id from t where num is null
  可以在num上設定預設值0,確保表中num列沒有null值,然後這樣查詢:
  select id from t where num=0 
 
資料庫查詢優化原則
3
3.應儘量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。
4
4.應儘量避免在 where 子句中使用 or 來連線條件,否則將導致引擎放棄使用索引而進行全表掃描,如:
  select id from t where num=10 or num=20
  可以這樣查詢:
  select id from t where num=10
  union all
  select id from t where num=20
5
5.in 和 not in 也要慎用,否則會導致全表掃描,如:
  select id from t where num in(1,2,3)
  對於連續的數值,能用 between 就不要用 in 了:
  select id from t where num between 1 and 3
6
6.下面的查詢也將導致全表掃描:
  select id from t where name like '%abc%'
  若要提高效率,可以考慮全文檢索。
7
7.如果在 where 子句中使用引數,也會導致全表掃描。因為SQL只有在執行時才會解析區域性變數,但優化程式不能將訪問計劃的選擇推遲到執行時;它必須在編譯時進行選擇。然而,如果在編譯時建立訪問計劃,變數的值還是未知的,因而無法作為索引選擇的輸入項。如下面語句將進行全表掃描:
  select id from t
[email protected]

  可以改為強制查詢使用索引:
  select id from t with(index(索引名)) wherenum= @num  
8
8.應儘量避免在 where 子句中對欄位進行表示式操作,這將導致引擎放棄使用索引而進行全表掃描。如:
  select id from t where num/2=100
  應改為:
  select id from t where num=100*2
9
9.應儘量避免在where子句中對欄位進行函式操作,這將導致引擎放棄使用索引而進行全表掃描。如:
  select id from t where substring(name,1,3)='abc'--name以abc開頭的id
  select id from t where datediff(day,createdate,'2005-11-30')=0--‘2005-11-30’生成的id

相關推薦

King-Bond's Space

步驟/方法 1 1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。   資料庫查詢優化原則 2 2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:   select id from t w

HDU 5643 King's Game | 約瑟夫環變形

printf for hdu bsp esp ret inf color long 經典約瑟夫環 1 int f[N] ={ 0 }; 2 for(int i=2; i<=n; i++) 3 { 4 f[i] = (f[i-1] + k) %

King's Quest POJ - 1904(強連通分量)

cstring cloc opened name 屬於 tor con return string 建圖:王子u喜歡女孩v,則u到v連一條邊。對於給出的初始完美匹配,王子u與女孩v匹配,則v到u連一條邊。然後求SCC。 顯然對於同一個SCC中王子數目和女孩數目是相等的,並且

【HDOJ5640】King's Cake(數論)

nbsp std namespace cas algo ima iostream turn tdi 題意: 思路: 1 #include<cstdio> 2 #include<cstdlib> 3 #include<iostream

K - King's Colors Kattis - kingscolors[二項式反演]

簡單介紹二項式反演: 如果存在 a n =

Lyft Level 5 Challenge 2018 - Final Round (Open Div. 2) A. The King's Race

http://codeforces.com/contest/1075/problem/A   On a chessboard with a width of nn and a height of nn, rows are numbered from botto

POJ 1904 King's Quest (強連通分量+完美匹配)

<題目連結> 題目大意:   有n個王子,每個王子都有k個喜歡的妹子,每個王子只能和喜歡的妹子結婚,大臣給出一個匹配表,每個王子都和一個妹子結婚,但是國王不滿意,他要求大臣給他另一個表,每個王子可以和幾個妹子結婚,按序號升序輸出妹子的編號,這個表應滿足所有的王子最終都有妹子和他結婚。 解題分

The King's Race【數學】

The King's Race  CodeForces - 1075A  On a chessboard with a width of nn and a height of nn, rows are numbered from bott

POJ - 1904 King's Quest (tarjan)

Once upon a time there lived a king and he had N sons. And there were N beautiful girls in the kingdom and the king knew about each of his sons which

Codeforces Gym 101933 K King's Colors

題目分析 題目要求在樹上塗上恰好\(K\)種顏色的方案數。 設\(f(k)\)表示恰好塗上\(k\)種顏色的方案數(答案即為\(f(K)\))。 設\(g(k)\)表示至多塗上\(k\)種顏色的方案數。 顯然有:\(g(k)=\sum\limits_{i=1}^k\dbinom{k}{i}f(i)\)

POJ 1904 King's Quest(SCC的巧妙應用,思維題!!!,經典題)

King's Quest Time Limit: 15000MS   Memory Limit: 65536K Total Submissions: 10305   Accep

HDU - 5643 King's Game (約瑟夫環變式)

題目大意:        n個人圍成一個環坐著,編號從1到n,從第一個人開始報數,第一輪報到1的人出列;第二輪報到2的人出列......第n-1輪報到n-1的人出列,問最後剩下的人的編號是多少 題解:  ①首先本題的資料

[gym101933]King's Colors 計數問題

/* [gym101933]King's Colors 樹上染色,一共k種顏色都要用到。相鄰節點顏色不同,問方案數。 */ #include<bits/stdc++.h> using namespace std; typedef long long ll; l

pku 3682 King Arthur's Birthday Celebration(負二項分佈、帕斯卡分佈以及期望方差公式的應用)

題意如此理解:國王過生日要舉辦宴會,以拋硬幣來決定宴會的結束:當國王舉行第k次的生日,則每天拋一次硬幣,硬幣正面概率為p,反面則為(1-p),則當國王拋到第k次正面硬幣的情況下,結束生日party,而每天生日party的開銷為一個a0=1,d=2的等差數列,問國王生日part

CF gym 101933 K. King's Colors(二項式反演)

傳送門 解題思路   首先給出的樹形態沒用,因為除根結點外每個點只有一個父親,它只需要保證和父親顏色不同即可。設\(f(k)\)表示至多染了\(k\)種顏色的方案,那麼\(f(k)=(k-1)^(n-1)*k\),而我們要求的是恰好染\(k\)種顏色的方案數,設其為\(g(k)\),易得 \[ g(k)=

臨時工 Temporary's Space

 論壇日常用語: 1、BBS:①Bulletin Board System的縮寫,指電子公告板系統,國內統稱論壇。②波霸,Big-Breasted Sister的縮寫。 2、斑竹:版主,也可寫作板豬。由於拼音輸入造成的美妙諧音。副版主叫“板斧”。 3、馬甲:註冊會員又註冊了其

Forrest's Space

轉自:http://blog.csdn.net/zyh821351004/article/details/50081713 http://slamcn.org/index.PHP/%E9%A6%96%E9%A1%B5 ====================

Lewis's Space

hta就是一個HTML應用程式(HTML Application),只要你雙擊就能執行 只要簡單的用.hta為副檔名儲存HTML頁面就行了 下面的一個標準的HTML應用程式: <HTML> <HEAD> <TITLE>HTA Demo<

POJ 1904 King's Quest(強連通圖)題解

names urn pac i++ style 連通圖 bool math main 題意:n個王子有自己喜歡的ki個公主,有n個公主,每個王子只能娶一個自己喜歡的公主且不能綠別的王子。現在給你一種王子娶公主的方案,並且保證這種方案是正確的。請你給出,每個王子能娶哪些公主,

UVA1327 && POJ1904 King's Quest(tarjan+巧妙建圖+強連通分量+縮點)

UVA1327 King's Quest POJ1904 King's Quest 題意: 有n個王子,每個王子都有k個喜歡的妹子,每個王子只能和喜歡的妹子結婚。現有一個匹配表,將每個王子都與一個自己喜歡的妹子配對。請你根據這個表得出每個王子可以和幾個自己喜歡的妹子結婚,按序號升序輸出妹子的編號,這個表應