詳解優(yōu)化SQL Server數(shù)據(jù)庫的方法(5)_Mssql數(shù)據(jù)庫教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:解決SQL Server無法打開用戶默認數(shù)據(jù)庫的問題無法打開用戶默認數(shù)據(jù)庫,登錄失敗,這是SQL Server使用者熟悉的問題之一。在使用企業(yè)管理器、查詢分析器、各類工具和應(yīng)用軟件的時候,只要關(guān)系到連接SQL Server數(shù)據(jù)庫的時候,都有可能會碰到此問題,引起此錯誤發(fā)生的原因比較多,下面我們就來詳細分析引起此問
49、
(1)IF 沒有輸入負責(zé)人代碼 THEN code1=0 code2=9999 ELSE code1=code2=負責(zé)人代碼 END IF 執(zhí)行SQL語句為: Select 負責(zé)人名 FROM P2000 Where 負責(zé)人代碼>=:code1 AND負責(zé)人代碼 <=:code2
(2)IF 沒有輸入負責(zé)人代碼 THEN Select 負責(zé)人名 FROM P2000 ELSE code= 負責(zé)人代碼 Select 負責(zé)人代碼 FROM P2000 Where 負責(zé)人代碼=:code END IF 第一種方法只用了一條SQL語句,第二種方法用了兩條SQL語句。在沒有輸入負責(zé)人代碼時,第二種方法顯然比第一種方法執(zhí)行效率高,因為它沒有限制條件; 在輸入了負責(zé)人代碼時,第二種方法仍然比第一種方法效率高,不僅是少了一個限制條件,還因相等運算是最快的查詢運算。我們寫程序不要怕麻煩
50、關(guān)于JOBCN現(xiàn)在查詢分頁的新方法(如下),用性能優(yōu)化器分析性能的瓶頸,如果在I/O或者網(wǎng)絡(luò)的速度上,如下的方法優(yōu)化切實有效,如果在CPU或者內(nèi)存上,用現(xiàn)在的方法更好。請區(qū)分如下的方法,說明索引越小越好。
begin
DECLARE @local_variable table (FID int identity(1,1),ReferenceID varchar(20))
insert into @local_variable (ReferenceID)
select top 100000 ReferenceID from chineseresume order by ReferenceID
select * from @local_variable where Fid > 40 and fid <= 60
end 和
begin
DECLARE @local_variable table (FID int identity(1,1),ReferenceID varchar(20))
insert into @local_variable (ReferenceID)
select top 100000 ReferenceID from chineseresume order by updatedate
select * from @local_variable where Fid > 40 and fid <= 60
end 的不同
begin
create table #temp (FID int identity(1,1),ReferenceID varchar(20))
insert into #temp (ReferenceID)
select top 100000 ReferenceID from chineseresume order by updatedate
select * from #temp where Fid > 40 and fid <= 60 drop table #temp
end
另附:存儲過程編寫經(jīng)驗和優(yōu)化措施 From:網(wǎng)頁教學(xué)網(wǎng)
一、適合讀者對象:數(shù)據(jù)庫開發(fā)程序員,數(shù)據(jù)庫的數(shù)據(jù)量很多,涉及到對SP(存儲過程)的優(yōu)化的項目開發(fā)人員,對數(shù)據(jù)庫有濃厚興趣的人。
二、介紹:在數(shù)據(jù)庫的開發(fā)過程中,經(jīng)常會遇到復(fù)雜的業(yè)務(wù)邏輯和對數(shù)據(jù)庫的操作,這個時候就會用SP來封裝數(shù)據(jù)庫操作。如果項目的SP較多,書寫又沒有一定的規(guī)范,將會影響以后的系統(tǒng)維護困難和大SP邏輯的難以理解,另外如果數(shù)據(jù)庫的數(shù)據(jù)量大或者項目對SP的性能要求很,就會遇到優(yōu)化的問題,否則速度有可能很慢,經(jīng)過親身經(jīng)驗,一個經(jīng)過優(yōu)化過的SP要比一個性能差的SP的效率甚至高幾百倍。
三、內(nèi)容:
1、開發(fā)人員如果用到其他庫的Table或View,務(wù)必在當前庫中建立View來實現(xiàn)跨庫操作,最好不要直接使用“databse.dbo.table_name”,因為sp_depends不能顯示出該SP所使用的跨庫table或view,不方便校驗�! �
2、開發(fā)人員在提交SP前,必須已經(jīng)使用set showplan on分析過查詢計劃,做過自身的查詢優(yōu)化檢查。
分享:揭秘優(yōu)化SQL Server數(shù)據(jù)庫查詢的方法文中,abigale代表查詢字符串,ada代表數(shù)據(jù)表名,alice代表字段名。 技巧一: 問題類型:ACCESS數(shù)據(jù)庫字段中含有日文片假名或其它不明字符時查詢會提示內(nèi)存溢出。 解決方法:修改查詢語句 sql=select * from ada where alice like '%abigale%' 改為 sql=
相關(guān)Mssql數(shù)據(jù)庫教程:
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個方法
- sql刪除重復(fù)數(shù)據(jù)的詳細方法
- 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ù)庫的方法(5)
。