賽迪網 > IT技術 數據庫 > 精彩更新
  IT資訊搜索
 
IT產品搜索
[程式開發][網管世界][網路安全][數據庫技術]
[作業系統][嘉賓聊天·線上訪談][活動集錦]
[精彩專題][Symantec專區][訂閱IT技術週刊]
[開發論壇][網管論壇][安全論壇][數據庫論壇]
[作業系統論壇][Sybase專區][IBM dW技術專區]
[病毒求助][病毒與漏洞播報][文檔·源碼下載]

SQL Server數據庫查詢優化的常用方法總結 (1)

發佈時間:2008.07.18 09:03     來源:賽迪網    作者:羅麗娜

【賽迪網-IT技術報道】SQL Server數據庫查詢優化的常用方法總結:

本文中,abigale代表查詢字符串,ada代表數據表名,alice代表字段名。

技巧一:

問題類型:ACCESS數據庫字段中含有日文片假名或其他不明字符時查詢會提示記憶體溢出。

解決方法:修改查詢語句

sql="select * from ada where alice like '%"&abigale&"%'"
改為
sql="select * from ada"
rs.filter = "alice like '%"&abigale&"%'"

技巧二:

問題類型:如何用簡易的辦法實現類似百度的多關鍵詞查詢(多關鍵詞用空格或其他符號間隔)。

解決方法:

'//用空格分割查詢字符串
ck=split(abigale," ")
'//得到分割後的數量
sck=UBound(ck)

sql="select * ada where"

在一個字段中查詢
For i = 0 To sck
SQL = SQL & tempJoinWord & "(" & _
"alice like '"&ck(i)&"%')"
tempJoinWord = " and "
Next

在二個字段中同時查詢
For i = 0 To sck
SQL = SQL & tempJoinWord & "(" & _
"alice like '"&ck(i)&"%' or " & _
"alice1 like '"&ck(i)&"%')"
tempJoinabigale = " and "
Next

技巧三:提高查詢效率的幾種技巧

1. 儘量不要使用 or,使用or會引起全表掃描,將大大降低查詢效率。

2. 經過實踐驗證,charindex()並不比前面加%的like更能提高查詢效率,並且charindex()會使索引失去作用(指sqlserver數據庫)

3. alice like '%"&abigale&"%' 會使索引不起作用

like '"&abigale&"%' 會使索引起作用(去掉前面的%符號)

(指sqlserver數據庫)

1 2 3 下一頁>>


[ 發表評論 ] 字體[  ] [ 列印 ] [ 進入博客 ] [ 進入論壇 ]  [ 推薦給朋友 ]
  相關文章
· 教你在SQL Server數據庫中導入導出數據 (07-17) · 另類解讀SQL Server中的DateTime數據類型 (07-15)
· SQL觸發器在保持數據庫完整性中的實際應用 (07-10) · SQL觸發器在保持數據庫完整性中的實際應用 (07-10)
· SQL Server中選出指定範圍行的SQL語句寫法 (07-10) · SQL Server導出表到EXCEL文件的存儲過程 (07-10)
· 講解SQL Server海量數據導入的最快方法 (07-09) · 講解Microsoft SQL Server的行式觸發器 (07-09)
· Microsoft SQL Server本機Web服務使用方案 (07-08) · SQL Server平臺上數據倉庫管理員的關鍵任務 (06-25)
  客戶需求反饋表
* 姓  名:
更多資料  了解方案  認識廠商
* 單位名稱:
* 聯繫電話:
* 電子郵件:
  賽迪推薦  
  手機·資費 ·新品·導購·評測·手機資費·寬帶
手機搜索  諾基亞 N73 MOTO Z6
  IT產品 ·筆記本·臺式機·伺服器·列印·投影
IT產品搜索 
  IT技術 ·開發·網管·安全·數據庫·作業系統
  資訊化 ·熱點·專題·訪談·週刊·方案案例
· 網站建設市場重新洗牌 一卡通引領革命潮流
· 北京加快資訊化建設 醫保一卡通年底前啟動
· ERP案例分析 SaaS帶來衝擊 IT服務商面臨挑戰
· 通方期貨CRM解決方案 房地產行業CRM解決方案
  IT博客 ·曾劍秋·項立剛·Java學習·網管
  IT技術論壇 ·開發·網管·安全·數據庫·系統