自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server數(shù)據(jù)庫選擇索引之查詢VS 的修改性能

數(shù)據(jù)庫 SQL Server
我們今天是要和大家一起討論的是SQL Server數(shù)據(jù)庫選擇索引之查詢VS 的修改性能,如果你對其相有興趣的話,你就此文章點擊觀看了。

以下的文章主要描述的是SQL Server數(shù)據(jù)庫選擇索引之查詢VS 的修改性能,在實際操作中I/O是決定查詢性能的最為主要的因素。數(shù)據(jù)庫設(shè)計者的挑戰(zhàn)是構(gòu)建物理數(shù)據(jù)模型來提供高效的數(shù)據(jù)訪問。

在數(shù)據(jù)庫表中創(chuàng)建索引允許SQL Server數(shù)據(jù)庫降低I/O數(shù)來訪問數(shù)據(jù)。在邏輯和物理模型階段定義有用的索引是關(guān)鍵。

SQL Server優(yōu)化器嚴(yán)重依賴于索引鍵值的分布和索引密度來決定查詢使用哪一個索引。SQL Server數(shù)據(jù)庫優(yōu)化器能使用查詢中的多個索引(通過索引交叉)降低I/O的數(shù)量來檢索信息。若缺少索引,優(yōu)化器執(zhí)行表掃描,從IO角度來講,它花費(fèi)的代價更高。

盡管索引提供了一種快速訪問數(shù)據(jù)的途徑,但它們減緩了數(shù)據(jù)修改語句,因為當(dāng)插入、修改和刪除時,需要額外的負(fù)擔(dān)來維護(hù)索引。

在決策支持系統(tǒng)中(DSS),定義更多的索引能幫助你的查詢并且不會帶來太多的性能問題,因為這些數(shù)據(jù)相對來講是靜態(tài)的并且不會頻繁修改。你典型地會加載數(shù)據(jù)、創(chuàng)建索引。只要你需要索引來支持用戶查詢,并且它們能獲得相當(dāng)不錯的響應(yīng)時間,太多的索引的缺點只是不被使用的索引所浪費(fèi)的空間。

另一方面,在OLTP環(huán)境下,太多的索引可能導(dǎo)致相當(dāng)大的性能下降,特別是,假如一個表中索引數(shù)量超過4或5個。仔細(xì)想下,每個單行插入至少是一個數(shù)據(jù)頁的寫或者是為表中的每個索引所進(jìn)行的更多索引頁寫(依賴于頁分裂是否發(fā)生)。

若有8個非聚集索引,單行插入最少將有9次寫數(shù)據(jù)庫,所以,對OLTP環(huán)境,你必須創(chuàng)建盡可能少的索引——典型地需要支持修改和刪除操作的索引和你的關(guān)鍵查詢,以及強(qiáng)制你唯一性約束的索引。

所以在理想世界中,自然的解決方法是,在DSS環(huán)境下創(chuàng)建許多索引,在OLTP環(huán)境下創(chuàng)建少許索引。不幸的是,在真實世界中,你典型地需要支持DSS和OLTP。你如何來解決兩種環(huán)境下的對索引要求的競爭?為了滿足DSS和OLTP應(yīng)用的索引需求需要一些平衡技術(shù)。

其中一種方法是分別創(chuàng)建兩個數(shù)據(jù)庫——一個為DSS應(yīng)用另外一個為OLTP。明顯,這種方法需要一些方法來保持?jǐn)?shù)據(jù)庫的同步。這種方法選擇依靠如何更新***的DSS數(shù)據(jù)庫。假如你更新的時間總是滯后的,你可以考慮使用dump-and-load機(jī)制,比如Log Shipping 或者周期性地數(shù)據(jù)庫存儲。如果你的DSS系統(tǒng)要求up-to-the -minute 并發(fā),你可能會考慮使用replication技術(shù)。

另外一種選擇是在日常工作中只為OLTP提供要求的索引。在忙的時間創(chuàng)建DSS查詢和報表需要的索引。當(dāng)DSS報表完成后,刪除這些額外的報表。注意這種方法假定創(chuàng)建額外的索引需要的時間可以用加速DSS查詢所獲得時間得到補(bǔ)償。

所以,小心選擇索引以在數(shù)據(jù)搜索和數(shù)據(jù)修改性能之間提供一個平衡。應(yīng)用的環(huán)境通常決定著索引的選擇。例如,如果應(yīng)用主要是OLTP類型,創(chuàng)建太多的索引可能會影響系統(tǒng)的性能。另一方面,應(yīng)用可能是一個DSS類型的,在這種情況下,可以創(chuàng)建多一些的索引。

以上的相關(guān)內(nèi)容就是對SQL Server數(shù)據(jù)庫選擇索引之查詢VS 修改性能的介紹,望你能有所收獲。 

SQL Server數(shù)據(jù)庫選擇索引之查詢VS 修改性能

上述的相關(guān)內(nèi)容就是對SQL Server數(shù)據(jù)庫選擇索引之查詢VS 修改性能的描述,希望會給你帶來一些幫助在此方面。

【編輯推薦】

  1. SQL Server數(shù)據(jù)庫中的9簡單示例
  2. 實現(xiàn)SQL Server數(shù)據(jù)備份可用觸發(fā)器
  3. SQL Server磁帶備份設(shè)備的性能優(yōu)化過程
  4. SQL Server 2000數(shù)據(jù)庫備份和還原的示例
  5. SQL Server 2005商業(yè)智能功能淺析
責(zé)任編輯:佚名 來源: IT專家網(wǎng)
相關(guān)推薦

2010-07-19 16:43:07

SQL Server選

2010-07-07 10:31:43

SQL Server數(shù)

2010-05-10 18:54:12

Oracle數(shù)據(jù)庫索引

2010-07-09 11:28:12

SQL Server數(shù)

2010-07-01 14:18:09

SQL Server數(shù)

2009-07-06 21:20:34

SQL Server數(shù)

2010-06-17 13:34:47

SQL Server數(shù)

2010-11-08 14:02:40

SQL Server系

2011-08-19 15:13:36

SQL Server MDX查詢

2010-06-30 13:19:17

SQL Server

2010-08-17 09:22:34

2010-07-15 17:28:50

SQL Server

2011-08-30 11:04:30

鏈接查詢內(nèi)連接外連接

2023-07-12 08:55:16

PawSQL數(shù)據(jù)庫

2011-08-16 09:05:21

SQL Server數(shù)測試索引空間換時間

2009-11-18 16:16:51

Oracle數(shù)據(jù)庫

2010-10-21 14:12:07

SQL Server游

2009-01-27 21:00:00

服務(wù)器數(shù)據(jù)庫SQL Server

2010-05-10 09:48:16

SQL Server數(shù)

2011-08-02 16:27:50

SQLNoSQL
點贊
收藏

51CTO技術(shù)棧公眾號