『壹』 sql連表查詢跟一個個表查詢那個快各有什麼優點和缺點
SQL鏈接表查詢稱為聯合查詢,表查詢是單個查詢。其區別和優點如下:
1.從發展效率的角度看:
聯合查詢是需要多個單查詢邏輯組合才能完成的查詢工作,聯合查詢只需要一個SQL就可以完成查詢工作,即將業務邏輯轉化為SQL,由資料庫來處理,相對來說,開發效率會更高。
2.從查詢效率來看:
單個查詢具有更好的可重用性,因此比聯合查詢更有效。
當讀取或寫入資料庫時,資料庫使用鎖機制來限制其他連接對其進行操作。由於聯邦查詢比單個查詢慢得多,它們會增加鎖爭用,因此單個查詢更好。
3.從邏輯結構層面來看,分層原則
關聯表示業務規則/邏輯。如果經常使用關聯查詢,就會將大量的業務規則和邏輯放入資料庫中執行,這將大大增加CPU、內存、IO等資源的消耗。
4.從資源利用的角度來看
在大多數情況下,並不是所有相關查詢的結果都得到了有效的使用。例如,後台管理的列表界面會顯示分頁、關聯查詢的結果集,只使用當前頁面的數據,而資料庫需要消耗額外的資源才能得到整個結果集。
5.從架構的可伸縮性的角度來看
大量的相關查詢將導致集中式資料庫體系結構難以轉化為分布式體系結構,可擴展性優化也難以實現。關聯查詢方便快捷,開發效率更高。
不使用關系查詢在體系結構級別上有很多優勢,但是它需要大量的系統分析、設計和開發功能。一般在互聯網行業,如用戶數量最好重視這方面。
由於數據量小,兩個查詢的效率基本沒有差別,但在實際應用中,需要根據數據量、業務復雜度等進行綜合評價。
『貳』 各類資料庫的優點缺點
優點:資料庫系統是用來管理數據的,建立的數理邏輯和集合操作基礎上的。
具有高效、可靠、完整、自同步等特性,是業務系統進行數據控制的最佳選擇。
資料庫系統一般提供高效的數據控制和數據檢索功能,採用SQL語言來進行數據操作。
目前市面上流行的資料庫系統很多:較小型的資料庫系統有:mysql,MSSQL_SERVER等等,適用於企業級的大型資料庫有:ORACEL,DB2(IBM),INFORMIX(IBM)等等
缺點:安全性不夠,加了用戶級密碼容易破解
C/S
結構下對伺服器要求很高,否則容易造成
MDB
損壞並發數255。
但是對高強度操作適應性差,如果伺服器不夠好,網路不夠好,編程的方法不夠好,6-7個人同時訪問就能導致
MDB
損壞或者並死不能將
VBA
代碼開發的軟體系統直接編譯成
EXE
可執行文件。
不能脫離
ACCESS
或者
ACCESS
RUNTIME
環境,該環境相對其他軟體體積較大(50M左右)
『叄』 Oracle資料庫和Sql server資料庫各有什麼優缺點
1.Oracle跨平台,SQL
Server只能運行在Windows上,而Windows能夠安裝的硬體是有限的,如Sun的Sparc伺服器不能安裝Windows,一些大型機、小型機也只能裝UNIX,在這些高端機器上就只能跑Oracle了,這註定了Oracle就是高端資料庫,而SQL
Server呢,中低端。
2.Oracle真正實現了行級鎖,SQL
Server也宣稱實現了行級鎖,但你實際去試,如果不加索引,其實是不行的。
3.Oracle因為有多版本數據的技術,讀寫操作不會相互等待,雖然SQL
Server
2005學習Oracle增加了snapshot機制,從而也引進了多版本數據(MySQL也有多版本數據機制,不能說一定是學習Oracle),但是實際效果感覺就是2個版本的數據,隔離級別為read
committed時候,讀寫不再相互等待,但是把隔離設置為Serializable還是會產生讀寫相互等待。
4.Oracle的事務日誌歸檔相當方便,而SQL
Server要用事務日誌備份來實現,而且還要配置自動作業,啟動agent服務。
5.Oracle的數據字典豐富,使得DBA容易判斷資料庫的各種情況,雖然SQL
Server
2005學習了Oracle的數據字典的特點,但從數量及方便程度上還是相差太多。個人感覺這是Oracle最人性化的地方。
6.Oracle的PL/SQL比SQL
Server的T-SQL功能強大很多。
7.Oracle的觸發器比SQL
Server的種類多幾種。
8.oracle的備份恢復原理相當簡單明了,備份就在操作系統上拷貝數據文件好了,恢復呢,再拷貝回來,數據是舊的,不怕,應用重做日誌好了。SQLServer呢,雖然原理在本質上還是這些,但操作起來麻煩多了,麻煩到讓你體會不到其本質。
9.Oracle資料庫啟動可以有多個階段,使得DBA可以在不同的情況下,通過啟動到特定的階段解決一些特殊問題,而SQLServer只要服務一啟動,所有資料庫就都打開了。
10.SQLServer給人的感覺是簡單易用,但是我要說,如果你繼續向前走,就會發現SQLServer的體系結構相當復雜(注意我這里是說的復雜),大體還是沿襲的Sybase的體系結構,這種復雜結構,估計很難有根本性的改變,而Oracle呢,時間越長你越會覺得其體系結構嚴謹,雖然開始會感覺很難。我的一個比喻,SQLServer是傻瓜相機(就是那些一兩千的小數碼),Oracle是單反相機(40D,5D,D300),如果你是入門者,那用傻瓜相機好了,在各種環境下拍攝,基本都過得去,用單反,光圈、快門都要自己設定,反倒不如傻瓜相機的效果,如果你是高手了,那傻瓜相機就很難得心應手了。
11.Oracle的書籍一般都比較深,隨便一說就是一大批,EpertOracle、PracticalOracle8i、Cost-basedOracle,SQLServer呢,恐怕只有那套InsideSQLServer了,雖然SQLServer的書籍數量比Oracle的多的多(特別是在國內),但多數都是stepbystep的入門書。
12.對比SQL*Plus與sqlcmd(或2000的osql,6.5的isql),sqlcmd的功能是太簡陋,差得太多了。
13.SQLServer的最大優點就是和Windows結合緊密,易用,但是要注意事情都是兩面的,這些優點可能導致其致命的缺點,例如易用,使得搞SQLServer的人可以不求甚解,有時候不求甚解是沒問題的,但是有時候不求甚解可能會造成災難,特別是對搞資料庫的人來說。不好意思,本來要說SQLServer的優點呢,最後也成了缺點了。
『肆』 access與SQL資料庫的各的優缺點!
Access是一種桌面資料庫,只適合數據量少的應用,在處理少量數據和單機訪問的資料庫時是很好的,效率也很高。但是它的同時訪問客戶端不能多於4個。access資料庫有一定的極限,如果數據達到100M左右,很容易造成伺服器iis假死,或者消耗掉伺服器的內存導致伺服器崩潰。
SQL Server是基於伺服器端的中型的資料庫,可以適合大容量數據的應用,在功能上管理上也要比Access要強得多。在處理海量數據的效率,後台開發的靈活性,可擴展性等方面強大。因為現在資料庫都使用標準的SQL語言對資料庫進行管理,所以如果是標准SQL語言,兩者基本上都可以通用的。SQL Server還有更多的擴展,可以用存儲過程,資料庫大小無極限限制。
『伍』 SQL連表查詢跟一個個表查詢那個快各有什麼優點和缺點
一般情況下是一條語句來的快。如果表2的數據比表1多出幾個數量級的話,並且表2中該id欄位有索引,則有可能使用多次查詢會快點。
一次查詢的優點是只需要一次連接,資料庫查詢的時候,連接是個耗時的操作。缺點是如果兩個表數據多,則中間結果集太大,需要較多的內存資源。
多次查詢的優缺點和一次查詢正好反過來。另外多次查詢也可以在程序中對每一次查詢的中間結果做處理,這是一個靈活性。
『陸』 SQL資料庫和甲骨文資料庫的好處和壞處求解答!
MsSqlserver優點:
1.真正的客戶機/伺服器體系結構
2.圖形化的用戶界面,使系統管理和資料庫管理更加直觀、簡單
3.豐富的編程介面工具,為用戶進行程序設計提供了更大的選擇餘地
4.與WinNT完全集成,利用了NT的許多功能,如發送和接受消息,管理登錄安全性等,SQL Server也可以很好地與Microsoft BackOffice產品集成。
5.有很好的伸縮性,可以跨平台使用。
6.提供數據倉庫功能,這個功能只在Oracle和其他昂貴的DBMS中才有。
Oracle優點:
1.Oracle的穩定性要比Sql server好。
2.Oracle在導數據工具sqlload.exe功能比Sqlserver的Bcp功能強大,Oracle可以按照條件把文本文件數據導入.
3.Oracle的安全機制比Sql server好。
4.Sql server的易用性和友好性方面要比Oracle好。
5.在處理大數據方面Oracle會更穩定一些。
6.Sql Server在數據導出方面功能更強一些。
7.處理速度方面比Oracle快一些,和兩者的協議有關.
Oracle缺點: 價格昂貴.
以下是搜集與網路中常用資料庫的總結,希望大家補充~!
SqlServer:只支持微軟平台,數據量不及上兩者,可用性最好,但是性能不及上兩者,適用於中型、小型企業及商業應用。
1. SQL SERVER 用於中小型資料庫,ORACLE 用於大型資料庫.
2. SQL SERVER 只能在Windows下跑,Oracle是跨平台的.
3. SQL SERVER 很平民,輕巧,Oracle很貴族,安全穩定.
1、主要在處理數據量的大小方面:sql小數據量速度快、方便。oracle慢;但海量數據處理,就非oracle莫數了。
2、操作方便性:sql操作方便簡單,易上手。oracle操作麻煩、不易上手。
3、安全性:sql安全性很差(最大缺點)。oracle安全性很好。
4、移植性:sql只能在windows系統和NT系統下運行。oracle理論上可以運行在任何的系統中。
Oracle是(甲骨文)公司的數據產品。Oracle的產品可運行於很寬范圍的硬體與操作系統平台上。可以安裝在70種以上不同的大、中、小型機上;可在VMS、DOS、UNIX、WINDOWS等多種操作系統下工作。ORACLE產品主要包括資料庫伺服器、開發工具和連接產品三類。操作要比MSSQL Server復雜,同時提供GUI和命令行,在windowsNT和unix下操作相同。獲得最高認證級別的ISO標准認證。
SQL Server 是 Microsoft(微軟) 的數據產品,它的易用性強。有友好的用戶界面。適用於C/S結構,只支持windows客戶,可以用ADO,DAO,OLEDB,ODBC連接.但只能在windows 上運行,沒有絲毫的開放性,而且windows平台的可靠性,安全性和伸縮性是非常有限的。多用戶時性能不佳。適用於中端市場,價格也比較適中.但在安全性方面沒受到任何安全認證.
『柒』 SQL server 2005資料庫有什麼優點和缺點
SQL Server 2005的十大最新特性
在商界,每樣東西都在競爭中爭取「更好、更快、更便宜」——SQL Server 2005也提供了很多個新特性來節省精力、時間和金錢。從編程到管理能力,這個版本的SQL Server都優於其他版本的產品,並且它還對SQL Server 2000中已經存在的特性進行了加強。這里我按照它的重要程度列出前十個最重要的新特性。
1、加強的T-SQL (事務處理SQL )
T-SQL 天生就是基於集合的關系型資料庫管理系統編程語言,可以提供高性能的數據訪問。現在,它與許多新的特性相結合,包括通過同時使用TRY和CTACH來進行錯誤處理,可以在語句中返回一個結果集的通用表表達式(CTEs),以及通過PIVOT 和UNPIVOT命令將列轉化為行和將列轉化為行的能力。
2、CLR(Common Language Runtime,通用語言運行時)
SQL Server 2005中的第二個主要的增強特性就是整合了符合.NET規范的語言 ,例如C#, ASP.NET 或者是可以構建對象(存儲過程,觸發器,函數等)的 VB.NET。這一點讓你可以在資料庫管理系統中執行.NET代碼以充分利用.NET功能。它有望在SQL Server 2000環境中取代擴展的存儲過程,同時還擴展了傳統關系型引擎功能。
3、服務代理(Service Broker)
服務代理處理的是以鬆散方式進行聯系的發送者和接收者之間的消息。一個消息被發送、處理和回答,完成整個事務。這大大擴展了數據驅動應用程序的性能,以符合工作流或者客戶業務需求。
4、數據加密
SQL Server 2000沒有用來在表自身加密數據的有文檔記載的或者公共支持的函數。企業需要依賴第三方產品來滿足這個需求。SQL Server 2005自身帶有支持對用戶自定義資料庫中存儲的數據進行加密的功能。
5、SMTP郵件
在SQL Server 2000中直接發送郵件是可能的,但是很復雜。在SQL Server 2005中,微軟通過合並SMTP郵件提高了自身的郵件性能。SQL Server從此跟Outlook說「bye-bye」!
6、HTTP終端
你可以很輕松地通過一個簡單的T-SQL 語句使一個對象可以在網際網路上被訪問,從而創建一個HTTP終端。這允許從網際網路上呼叫一個簡單的對象來獲取需要的數據。
7、多活動結果集(Multiple Active Result Sets ,簡稱MARS)
多活動結果集允許從單個的客戶端到資料庫保持一條持久的連接,以便在每個連接上擁有超過一個的活動請求。這是一個主要的性能改善,它允許開發人員讓用戶在使用SQL Server工作的時候擁有新的能力。例如,它允許多個查詢,或者一個查詢的同時輸入數據。底線就是一個客戶端連接可以同時擁有多個活動的進程。
8、專用管理員連接
如果所有的內容都出錯了,那麼只能關閉SQL Server服務或者按下電源鍵。專用管理員連接結束了這種狀況。這個功能允許資料庫管理員對SQL Server發起單個診斷連接,即使是伺服器正在出現問題。
9、SQL Server綜合服務(SSIS)
SSIS已經作為主要的ETL(抽取、傳輸和載入)工作替代了DTS(數據傳輸服務),並且隨著SQL Server免費發布。這個工具,從SQL Server 2000開始被完全重新編寫,現在已經擁有了很大程度的靈活性,來滿足復雜的數據移動需求。
10、資料庫鏡像
我並沒有指望這個功能會在11月份的RTM 中隨著SQL Server 2005一起發布,但是我認為這個特性具有很大的潛力。資料庫鏡像是本地高可用性能力的擴展。所有,仍然在對更多的細節進行調整……那麼現在,祝福吧。
還有兩項技術不能在SQL Server 2005的前十列表中遺漏的是它的分析服務和報告服務。雖然SQL Server 2005沒有介紹其中的任何一項,但是將它們整合進了SQL Server綜合服務之中,以求微軟的核心商務智能套件的完美。這些技術對於商務智能的成功至關重要。學習新的特性,以及企業如何在實際項目中實現它。
『捌』 比較Access、Oracle、SQL server 三種資料庫的優缺點。
ACCESS是由微軟發布的關聯式資料庫管理系統。它結合了 Microsoft Jet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office的成員之一。 優點:Access部署簡單方便就一個文件運用起來比較靈活主要是桌面資料庫系統,他也可以開發基於自己的桌面資料庫應用(UI),也可以作為前端開發工具與其它資料庫搭配開發應用程序(如SQL Server,DB2,Oracle等),熟練的軟體設計師和資料分析師利用它來開發應用軟體,而一些不熟練的程序員和非程序員的初級用戶則使用它來開發簡單的應用軟體。
缺點:數據儲存量小安全性不夠高,加了用戶級密碼容易破解。C/S結構下對伺服器要求很高,否則容易造成MDB損壞並發數255,但是對高強度操作適應性差,如果伺服器不夠好,網路不夠好,編程的方法不夠好,6-7個人同時訪問就能導致MDB損壞或者並死,不能將VBA代碼開發的軟體系統直接編譯成EXE可執行文件,不能脫離ACCESS或者ACCESS RUNTIME環境,該環境相對其他軟體體積較大(50M左右)。Microsoft Access資料庫有一定的極限,如果數據達到100M左右,很容易造成伺服器iis假死,或者消耗掉伺服器的內存導致伺服器崩潰。
SQL Server是一個關系資料庫管理系統。
優點:安全性高真正的客戶機/伺服器體系結構,圖形化用戶界面,使系統管理和資料庫管理更加直觀、簡單,豐富的編程介面工具為用戶進行程序設計提供了更大的選擇餘地。SQL Server與Windows NT完全集成,利用了NT的許多功能,如發送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產品集成。具有很好的伸縮性,可跨越多種平台使用,對Web技術的支持,使用戶能夠很容易地將資料庫中的數據發布到Web頁面上。SQL Server還提供數據倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。
缺點:因功能強大,所以操作數據比ACCESS較為復雜。