1. sql2000和sql2005有什么區(qū)別?
a、 最直觀的一點(diǎn)就是兩者的界面有很明顯的不同。sql2005的操作風(fēng)格更接近于vs2005。
b、 sql2005比sql2000存儲(chǔ)的數(shù)據(jù)量要大很多,sql2005支持?jǐn)?shù)據(jù)庫邏輯分區(qū);
c、 sql2000與sql20005 jdbc連接不同:
sql2000 jdbc連接:url地址:jdbc:microsoft:sqlserver://:<1433>;
driver :com.microsoft.jdbc.sqlserver.SQLServerDriver;
sql2005 jdbc連接:url地址:jdbc:sqlserver://: [;databaseName=]; driver :com.microsoft.sqlserver.jdbc.SQLServerDriver;
d、 安全性能的提高:sql Server 2005包括了一些在安全性能上的改進(jìn),例如將用戶和對象分開、數(shù)據(jù)庫加密、設(shè)置安全默認(rèn)值、增強(qiáng)密碼政策、縝密的許可控制、以及一個(gè)增強(qiáng)型的安全模式。
e、 sql2005還提供了一些新的特性,比如文件流支持(向第三代數(shù)據(jù)庫邁出了可喜的一步)、T-Sql的改進(jìn)(處理錯(cuò)誤、遞歸查詢功能、關(guān)系運(yùn)算符PIVOT, APPLY, ROW_NUMBER和其他數(shù)據(jù)列排行功能,等等)、數(shù)據(jù)庫鏡像、透 明的客戶端重定向、新的基于架構(gòu)的安全模型、內(nèi)建的Http服務(wù)器等...。
1. 存儲(chǔ)過程的作用?
存儲(chǔ)過程可以使得對數(shù)據(jù)庫的管理、以及顯示關(guān)于數(shù)據(jù)庫及其用戶信息的工作容易得多。存儲(chǔ)過程是 SQL 語句和可選控制流語句的預(yù)編譯集合,
以一個(gè)名稱存儲(chǔ)并作為一個(gè)單元處理。存儲(chǔ)過程存儲(chǔ)在數(shù)據(jù)庫內(nèi),可由應(yīng)用程序通過一個(gè)調(diào)用執(zhí)行, 而且允許用戶聲明變量、有條件執(zhí)行以及其它強(qiáng)大的編程功能。
存儲(chǔ)過程可包含程序流、邏輯以及對數(shù)據(jù)庫的查詢。它們可以接受參數(shù)、輸出參數(shù)、返回單個(gè)或多個(gè)結(jié)果集以及返回值。
可以出于任何使用 SQL 語句的目的來使用存儲(chǔ)過程,它具有以下優(yōu)點(diǎn):
可以在單個(gè)存儲(chǔ)過程中執(zhí)行一系列 SQL 語句。
可以從自己的存儲(chǔ)過程內(nèi)引用其它存儲(chǔ)過程,這可以簡化一系列復(fù)雜語句。
存儲(chǔ)過程在創(chuàng)建時(shí)即在服務(wù)器上進(jìn)行編譯,所以執(zhí)行起來比單個(gè) SQL 語句快。
2. sqlserver和oracle數(shù)據(jù)庫的性能優(yōu)化
3.1選用適合的ORACLE優(yōu)化器
ORACLE的優(yōu)化器共有3種:
a. RULE (基于規(guī)則) b. COST (基于成本) c. CHOOSE (選擇性)
在缺省情況下,ORACLE采用CHOOSE 優(yōu)化器, 為了避免那些不必要的全表掃描(full table scan) , 你必須盡量避免使用CHOOSE優(yōu)化器,而直接采用基于規(guī)則或者基于成本的優(yōu)化器.訪問Table的方式
3.2ORACLE 采用兩種訪問表中記錄的方式:
a. 全表掃描
全表掃描就是順序地訪問表中每條記錄. ORACLE采用一次讀入多個(gè)數(shù)據(jù)塊(database block)的方式優(yōu)化全表掃描.
b. 通過ROWID訪問表
你可以采用基于ROWID的訪問方式情況,提高訪問表的效率,RowId包含了表中記錄的物理位置信息.ORACLE采用索引(INDEX)實(shí)現(xiàn)了
數(shù)據(jù)和存放數(shù)據(jù)的物理位置(RowId)之間的聯(lián)系。 通常索引提供了快速訪問ROWID的方法,因此那些基于索引列的查詢就可以得到。