揭秘優(yōu)化SQL Server數(shù)據(jù)庫查詢的方法_Mssql數(shù)據(jù)庫教程
推薦:修改SQL Server2005的sa用戶密碼在SQL Server Management Studio 用WINDOWS連接的情況下改實列的“屬性”中“安全性”選中WINDOWS及SQL驗證,再重起SQL服務(wù)器后,新建查詢,執(zhí)行下面代碼 (幾種不同的語句) 一、 ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITH PASSWORD = 'password' ;
文中,abigale代表查詢字符串,ada代表數(shù)據(jù)表名,alice代表字段名。
技巧一:
問題類型:ACCESS數(shù)據(jù)庫字段中含有日文片假名或其它不明字符時查詢會提示內(nèi)存溢出。
解決方法:修改查詢語句
sql="select * from ada where alice like '%"&abigale&"%'"
改為
sql="select * from ada"
rs.filter = "alice like '%"&abigale&"%'"
技巧二:
問題類型:如何用簡易的辦法實現(xiàn)類似百度的多關(guān)鍵詞查詢(多關(guān)鍵詞用空格或其它符號間隔)。
解決方法:
'//用空格分割查詢字符串
ck=split(abigale," ")
'//得到分割后的數(shù)量
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. 經(jīng)過實踐驗證,charindex()并不比前面加%的like更能提高查詢效率,并且charindex()會使索引失去作用(指sqlserver數(shù)據(jù)庫)
3. alice like '%"&abigale&"%' 會使索引不起作用
like '"&abigale&"%' 會使索引起作用(去掉前面的%符號)
(指sqlserver數(shù)據(jù)庫)
分享:刪除SQL Server日志的方法一: 刪除LOG 1:分離數(shù)據(jù)庫 企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫->右鍵->分離數(shù)據(jù)庫 2:刪除LOG文件 3:附加數(shù)據(jù)庫 企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫->右鍵->附加數(shù)據(jù)庫 此法生成新的LOG,大小只有520多K 再將此數(shù)據(jù)庫設(shè)置自動收縮 或用代碼: 下面的示例
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數(shù)的用法實例詳解
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-揭秘優(yōu)化SQL Server數(shù)據(jù)庫查詢的方法
。