亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

2021數據庫考試題及答案 mysql題目和詳細答案( 五 )


覆蓋索引的定義與注意事項
如果一個索引覆蓋(包含)了所有需要查詢的字段的值,這個索引就是覆蓋索引 。因為索引中已經包含了要查詢的字段的值,因此查詢的時候直接返回索引中的字段值就可以了,不需要再到表中查詢,避免了對主鍵索引的二次查詢,也就提高了查詢的效率 。
要注意的是,不是所有類型的索引都可以成為覆蓋索引的 。因為覆蓋索引必須要存儲索引的列值,而哈希索引、空間索引和全文索引等都不存儲索引列值,索引MySQL只能使用B-Tree索引做覆蓋索引 。
另外,當發(fā)起一個被索引覆蓋的查詢(索引覆蓋查詢)時,在explain(執(zhí)行計劃)的Extra列可以看到的信息 。
覆蓋索引的優(yōu)點
1.索引條目通常遠小于數據行的大小,因為覆蓋索引只需要讀取索引,極大地減少了數據的訪問量 。
2.索引是按照列值順序存儲的,對于IO密集的范圍查找會比隨機從磁盤讀取每一行數據的IO小很多 。
3.一些存儲引擎比如MyISAM在內存中只緩存索引,數據則依賴操作系統來緩存,因此要訪問數據的話需要一次系統調用,使用覆蓋索引則避免了這一點 。
4.由于InnoDB的聚簇索引,覆蓋索引對InnoDB引擎下的數據庫表特別有用 。因為InnoDB的二級索引在葉子節(jié)點中保存了行的主鍵值,如果二級索引能夠覆蓋查詢,就避免了對主鍵索引的二次查詢 。
15.視圖的優(yōu)缺點?優(yōu)點1.簡化了操作:此時我們完全不用關心視圖是怎么處理數據的,我們只需要知道如何使用這個結果集即可,視圖相當于一個中間層 。
2.更加安全:比如我們可以讓用戶有權去訪問某個視圖,但是不能訪問原表,這樣就可以起到保護原表中某些數據的作用 。
3.管理權限是無法細致到某一個列的,通過視圖,則很容易實現 。
4.降低耦合:假如我們以后要修改原表的結構,那么我們可以通過修改視圖的定義即可,而不用修改應用程序,對訪問者是不會造成影響的,一般來說,這樣代價會更小 。
缺點1.性能:從數據庫視圖查詢數據可能會很慢,特別是如果視圖是基于其他視圖創(chuàng)建的 。
2.表依賴關系:將根據數據庫的基礎表創(chuàng)建一個視圖 。每當更改與其相關聯的表的結構時,都必須更改視圖 。
16.主鍵和唯一索引區(qū)別?主鍵是一種約束,唯一索引是一種索引,兩者在本質上是不同的 。
主鍵創(chuàng)建后一定包含一個唯一性索引,唯一性索引并不一定就是主鍵 。唯一性索引列允許空值,而主鍵列不允許為空值 。主鍵列在創(chuàng)建時,已經默認為非空值 + 唯一索引了 。主鍵可以被其他表引用為外鍵,而唯一索引不能 。一個表最多只能創(chuàng)建一個主鍵,但可以創(chuàng)建多個唯一索引 。主鍵和唯一索引都可以有多列 。主鍵更適合那些不容易更改的唯一標識,如自動遞增列、身份證號等 。在 RBO 模式下,主鍵的執(zhí)行計劃優(yōu)先級要高于唯一索引 。兩者可以提高查詢的速度 。索引是一種特殊的文件(InnoDB數據表上的索引是表空間的一個組成部分),它們包含著對數據表里所有記錄的引用指針 。
總體來說:主鍵相當于一本書的頁碼,索引相當于書的目錄 。
其實主鍵和索引都是鍵,不過主鍵是邏輯鍵,索引是物理鍵,意思就是主鍵不實際存在,而索引實際存在在數據庫中,主鍵一般都要建,主要是用來避免一張表中有相同的記錄,索引一般可以不建,但如果需要對該表進行查詢操作,則最好建,這樣可以加快檢索的速度 。
17.如何隨機獲取一條記錄?select * from posts ORDER BY rand() LIMIT 1;18.查看當前表有哪些索引?show index from posts;19.什么情況下索引不生效?使用不等于查詢NULL值列參與了數學運算或者函數 。在字符串like時左邊是通配為.比如 %xxx 。當mysql分析全表掃描比使用索引快的時候不使用索引 。當使用聯合索引,前面一個條件為范圍查詢,后面的即使符合最左前綴原則,也無法使用 引.20.聊聊MVVC?本質多版本并發(fā)控制(Multiversion concurrency control,MCC 或 MVCC),是數據庫管理系統常用的一種并發(fā)控制,也用于程序設計語言實現事務內存 。樂觀并發(fā)控制和悲觀并發(fā)控制都是通過延遲或者終止相應的事務來解決事務之間的競爭條件來保證事務的可串行化;這兩種并發(fā)控制機制確實能夠從根本上解決并發(fā)事務的可串行化的問題,但是其實都是在解決寫沖突的問題,兩者區(qū)別在于對寫沖突的樂觀程度不同(悲觀鎖也能解決讀寫沖突問題,但是性能就一般了) 。而在實際使用過程中,數據庫讀請求是寫請求的很多倍,我們如果能解決讀寫并發(fā)的問題的話,就能更大地提高數據庫的讀性能,而這就是多版本并發(fā)控制所能做到的事情 。


以上關于本文的內容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫(yī)或請專業(yè)人士給予相關指導!

「愛刨根生活網」www.malaban59.cn小編還為您精選了以下內容,希望對您有所幫助: