国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

數據庫經典問題

來源:懂視網 責編:小采 時間:2020-11-09 14:47:58
文檔

數據庫經典問題

數據庫經典問題:1、存儲過程的優點是什么? 存儲過程的優點: 1.提高性能 2.減輕網絡擁塞 3.一致性較好 4.改善安全機制 2、什么是觸發器?觸發器有哪幾種?觸發器有什么優點 一個觸發器是由T-SQL語句集組成的代碼塊,在響應某些動作時激活該語句集 有insert,dele
推薦度:
導讀數據庫經典問題:1、存儲過程的優點是什么? 存儲過程的優點: 1.提高性能 2.減輕網絡擁塞 3.一致性較好 4.改善安全機制 2、什么是觸發器?觸發器有哪幾種?觸發器有什么優點 一個觸發器是由T-SQL語句集組成的代碼塊,在響應某些動作時激活該語句集 有insert,dele

1、存儲過程的優點是什么? 存儲過程的優點: 1.提高性能 2.減輕網絡擁塞 3.一致性較好 4.改善安全機制 2、什么是觸發器?觸發器有哪幾種?觸發器有什么優點? 一個觸發器是由T-SQL語句集組成的代碼塊,在響應某些動作時激活該語句集 有insert,delete,update

1、存儲過程的優點是什么? 存儲過程的優點: 1.提高性能 2.減輕網絡擁塞 3.一致性較好 4.改善安全機制

2、什么是觸發器?觸發器有哪幾種?觸發器有什么優點?

一個觸發器是由T-SQL語句集組成的代碼塊,在響應某些動作時激活該語句集

有insert,delete,update觸發器

它防止了對數據的不正確、未授權的和不一致的改變

3、常見的幾種約束有哪些?分別代表什么意思?如何使用?

1)實體完整性:主鍵保證了實體完整性,一個表只有一個主鍵,但一個主鍵可有包含多個字段,主鍵字段不能為空

2)參照完整性:外鍵保證了引用完整性,一個表可以有多個外鍵

3)用戶定義完整性:CHECK保證了域完整性, 一個表中可以有多個檢查性約束

4、事務:是一系列的數據庫操作,是數據庫應用的基本邏輯單位。

事務性質:ACID特性
原子性(Atomicity):事務的所有操作在數據庫中要么全部正確的反映出來,要么完全不反映;

一致性(Consistency):執行前后數據保持一致,比如,轉帳系統執行前后,兩者的總錢數保持一致;

隔離性(Isolation):盡管多個事務可能并發執行,但執行的結果與某個串行執行相同,因此,每個事務都感覺不到系統中其他事務在并發執行,隔離性是并發控制的主要任務;

持久性(Durability)一個事務成功執行完成后,它對數據庫的改變必須是永久的,即使出現系統故障,持久性是恢復系統的主要任務

5、內聯接與外聯接
內連接是保證兩個表中所有的行都要滿足連接條件,而外連接則不然。在外連接中,某些不滿條件的列也會顯示出來,也就是說,只限制其中一個表的行,而不限制另一個表的行。分左連接、右連接、全連接三種

6、視圖

視圖是數據庫數據的特定子集。可以禁止所有用戶訪問數據庫表,而要求用戶只能通過視圖操作數據,這種方法可以保護用戶和應用程序不受某些數據庫修改的影響。2.視圖是抽象的,他在使用時,從表里提取出數據,形成虛的表。 視圖沒有自己的數據,當用戶操作視圖時,數據庫才把相應的操作轉化為對應表的操作,視圖僅僅是預先定義好的一些SQL操作,它是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。

7、索引:參考文獻

優點:

第一,可以大大加快 數據的檢索速度,這也是創建索引的最主要的原因。

第二,通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性。

缺點:

第一,創建索引和維護索引要耗費時間,這種時間隨著數據 量的增加而增加。
第二,索引需要占物理空間,除了數據表占數據空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大。
第三,當對表中的數據進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了數據的維護速度。

索引是建立在數據庫表中的某些列的上面。因此,在創建索引的時候,應該仔細考慮在哪些列上可以創建索引,在哪些列上不能創建索引。一般來說,應該在這些列 上創建索引,例如:

在經常需要搜索的列上,可以加快搜索的速度;
在作為主鍵的列上,強制該列的唯一性和組織表中數據的排列結構;
在經常用在連接的列上,這 些列主要是一些外鍵,可以加快連接的速度;
在經常需要根據范圍進行搜索的列上創建索引,因為索引已經排序,其指定的范圍是連續的;
在經常需要排序的列上創 建索引,因為索引已經排序,這樣查詢可以利用索引的排序,加快排序查詢時間;
在經常使用在WHERE子句中的列上面創建索引,加快條件的判斷速度。


同樣,對于有些列不應該創建索引。一般來說,不應該創建索引的的這些列具有下列特點:

第一,對于那些在查詢中很少使用或者參考的列不應該創建索引。這是因 為,既然這些列很少使用到,因此有索引或者無索引,并不能提高查詢速度。相反,由于增加了索引,反而降低了系統的維護速度和增大了空間需求。
第二,對于那 些只有很少數據值的列也不應該增加索引。這是因為,由于這些列的取值很少,例如人事表的性別列,在查詢的結果中,結果集的數據行占了表中數據行的很大比 例,即需要在表中搜索的數據行的比例很大。增加索引,并不能明顯加快檢索速度。
第三,對于那些定義為text, image和bit數據類型的列不應該增加索引。這是因為,這些列的數據量要么相當大,要么取值很少。
第四,當修改性能遠遠大于檢索性能時,不應該創建索 引。這是因為,修改性能和檢索性能是互相矛盾的。當增加索引時,會提高檢索性能,但是會降低修改性能。當減少索引時,會提高修改性能,降低檢索性能。因 此,當修改性能遠遠大于檢索性能時,不應該創建索引。


索引的幾種方式

1、順序索引(基本不用) 2、B+樹索引(最常用,如mysql的InnoDB) 3、hash索引(用的不多)

8、SQL標準定義的四個隔離級別(都是與事務相關的) 參考

通過一些現象,可以反映出隔離級別的效果。這些現象有:

1、更新丟失(lost update):當系統允許兩個事務同時更新同一數據是,發生更新丟失。

2、臟讀(dirty read):當一個事務讀取另一個事務尚未提交的修改時,產生臟讀。

3、非重復讀(nonrepeatableread):同一查詢在同一事務中多次進行,由于其他提交事務所做的修改或刪除,每次返回不同的結果集,此時發生非重復讀。

4、幻像(phantom read):同一查詢在同一事務中多次進行,由于其他提交事務所做的插入操作,每次返回不同的結果集,此時發生幻像讀。

下面是隔離級別及其對應的可能出現或不可能出現的現象

Dirty Read

NonRepeatable Read

Phantom Read

Read uncommitted

Possible

Possible

Possible

Read committed

Not possible

Possible

Possible

Repeatable read

Not possible

Not possible

Possible

Serializable

Not possible

Not possible

Not possible

ORACLE的隔離級別 ORACLE提供了SQL92標準中的readcommitted和serializable

mysql的InnoDB存儲引擎默認支持的隔離級別是Repeatable read

在標準SQL規范中,定義了4個事務隔離級別,不同的隔離級別對事務的處理不同:

◆未授權讀取(Read Uncommitted):允許臟讀取,但不允許更新丟失。如果一個事務已經開始寫數據,則另外一個事務則不允許同時進行寫操作,但允許其他事務讀此行數據。該隔離級別可以通過“排他寫鎖”實現。

◆授權讀取(Read Committed):允許不可重復讀取,但不允許臟讀取。這可以通過“瞬間共享讀鎖”和“排他寫鎖”實現。讀取數據的事務允許其他事務繼續訪問該行數據,但是未提交的寫事務將會禁止其他事務訪問該行。

◆可重復讀取(Repeatable Read):禁止不可重復讀取和臟讀取,但是有時可能出現幻影數據。這可以通過“共享讀鎖”和“排他寫鎖”實現。讀取數據的事務將會禁止寫事務(但允許讀事務),寫事務則禁止任何其他事務。

◆序列化(Serializable):提供嚴格的事務隔離。它要求事務序列化執行,事務只能一個接著一個地執行,但不能并發執行。如果僅僅通過“行級鎖”是無法實現事務序列化的,必須通過其他機制保證新插入的數據不會被剛執行查詢操作的事務訪問到。

隔離級別越高,越能保證數據的完整性和一致性,但是對并發性能的影響也越大,通過選用不同的隔離等級就可以在不同程度上避免前面所提及的在事務處理中所面臨的各種問題。所以,數據庫隔離級別的選取就顯得尤為重要,在選取數據庫的隔離級別時,應該注意以下幾個處理的原則:

首先,必須排除“未授權讀取”,因為在多個事務之間使用它將會是非常危險的。事務的回滾操作或失敗將會影響到其他并發事務。第一個事務的回滾將會完全將其他事務的操作清除,甚至使數據庫處在一個不一致的狀態。很可能一個已回滾為結束的事務對數據的修改最后卻修改提交了,因為“未授權讀取”允許其他事務讀取數據,最后整個錯誤狀態在其他事務之間傳播開來。

其次,絕大部分應用都無須使用“序列化”隔離(一般來說,讀取幻影數據并不是一個問題),此隔離級別也難以測量。目前使用序列化隔離的應用中,一般都使用悲觀鎖,這樣強行使所有事務都序列化執行。

剩下的也就是在“授權讀取”和“可重復讀取”之間選擇了。我們先考慮可重復讀取。如果所有的數據訪問都是在統一的原子數據庫事務中,此隔離級別將消除一個事務在另外一個并發事務過程中覆蓋數據的可能性(第二個事務更新丟失問題)。這是一個非常重要的問題,但是使用可重復讀取并不是解決問題的唯一途徑。



9、聚集索引與非聚集索引

聚簇索引是一種對磁盤上實際數據重新組織以按指定的一個或多個列的值排序。由于聚簇索引的索引頁面指針指向數據頁面,所以使用聚簇索引查找數據幾乎總是比使用非聚簇索引快。每張表只能建一個聚簇索引,在聚簇索引下,數據在物理上按順序排在數據頁上,重復值也排在一起,因而在那些包含范圍檢查(between、<、<=、& gt;、>=)或使用groupby或order by的查詢時,一旦找到具有范圍中第一個鍵值的行,具有后續索引值的行保證物理上毗連在一起而不必進一步搜索,避免了大范圍掃描,可以大大提高查詢速度。

\

\

\

\


<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+CrnY09pteXNxbLXEy/fS/aOsv8nS1LLOv7zV4sDvoaO52NPaQiYjNDM7yve1xNStwO2/ydLUss6/vNXiwO88L3A+Cgo8cD4xMKGiyNXWvs7EvP4gcmVkbyC6zSB1bmRvtcTX99PDPC9wPgo8cD7U2srCzvFUv6rKvL+qyrzWrsewo6zI1da+1tDQtMjrvMfCvCZsdDtUIHN0YXJ0Jmd0O6Os1rTQ0Ln9s8zW0KOsVNa00NDIzrrOd3JpdGUoWCmy2df3x7DPyNKqz/LI1da+1tDQtMjrysq1sbXE0MK1xLzHwryjrLWxVMzhvbvKsaOsyNXWvtbQ0LTI67zHwrwmbHQ7VCBjb21taXQmZ3Q7o6zX3LXEwLTLtb7NysfPyNC0yNXWvqOsuvO4/NDCvMfCvKGjPC9wPgo8cD48aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20140909/20140909091017242.png" alt="">

在這里我們先說恢復的一般方法:
(1)正向掃描日志文件(從頭到尾),找出故障發生前已經提交的事務(存在begin transaction和commit記錄),將其標識記入重做(redo)隊列。同時找出故障發生時未完成的事務(只有begin transaction,沒commit),將其標識記入(undo)隊列
(2)對undo隊列的各事務進行撤銷處理。進行undo的處理方法是,反向掃描日志文件,對每個undo事務的更新操作執行反操作,即將日志記錄中“更新前的值”寫入數據庫。

(3)對重做日志中的各事務進行重做操作。進行redo的處理方法是,正向掃描日志,對每個redo事務重新執行日志文件登記操作。即將日志中“更新后的值”寫入數據庫。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

數據庫經典問題

數據庫經典問題:1、存儲過程的優點是什么? 存儲過程的優點: 1.提高性能 2.減輕網絡擁塞 3.一致性較好 4.改善安全機制 2、什么是觸發器?觸發器有哪幾種?觸發器有什么優點 一個觸發器是由T-SQL語句集組成的代碼塊,在響應某些動作時激活該語句集 有insert,dele
推薦度:
標簽: 是什么 過程 問題
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产精品亚洲一区二区在线观看 | 国产不卡视频在线播放 | 99精品高清视频一区二区 | 毛片视频网站 | 日韩毛片大全 | 国产成人免费视频精品一区二区 | 日本七十路 | 亚洲一区二区三区久久久久 | 91精品国产91久久久久久 | 久久精品最新免费国产成人 | 久久艹精品| 精品国产免费人成在线观看 | 国产日韩一区二区三区在线播放 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲欧美日韩中文字幕在线 | 欧美日韩国产中文字幕 | 日韩精品一区二区三区国语自制 | 国产精品视频不卡 | 欧美一区二区三区在线视频 | 亚洲欧洲一区二区 | 一道精品一区二区三区 | 久久久国产麻豆 | 日本v片免费一区二区三区 欧洲精品欧美精品 | 国产亚洲精品成人婷婷久久小说 | 欧美 日韩 国产 色 欧美 日韩 中文 | 成人精品第一区二区三区 | 欧美精品福利 | 欧美亚洲另类综合 | 亚洲国产精品二区久久 | 欧美国产第一页 | 中文字幕第13亚洲另类 | 国产精品日韩欧美一区二区三区 | 久久精品一区二区影院 | 真人一级一级毛片免费观看 | 欧美高清一区二区三区欧美 | 中文字幕国产欧美 | 国产成人精品一区二区三区… | 免费一级a毛片在线播放视 免费一区二区 | 91久久精品国产亚洲 | 免费一看一级毛片 | 夜夜操美女 |