Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 91视频免费观看高清观看完整,亚洲精品一区二区三区美女,欧美激情一区二区三区视频

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          數據庫常見面試題(附答案)

          閱讀指南

          文章目錄

          1.事務四大特性

          原子性,要么執行,要么不執行隔離性,所有操作全部執行完以前其它會話不能看到過程一致性,事務前后,數據總額一致持久性,一旦事務提交,對數據的改變就是永久的

          2.數據庫隔離級別

          多個事務讀可能會道理以下問題

          臟讀:事務B讀取事務A還沒有提交的數據

          不可重復讀:,一行被檢索兩次,并且該行中的值在不同的讀取之間不同時

          幻讀:當在事務處理過程中執行兩個相同的查詢,并且第二個查詢返回的行集合與第一個查詢不同時

          這兩個區別在于,不可重復讀重點在一行,幻讀的重點 ,返回 的集合不一樣

          示例圖,Id =1這一行

          幻讀,返回的集合不一樣

          隔離級別總結

          3.MYSQL的兩種存儲引擎區別(事務、鎖級別等等),各自的適用場景

          引擎特性

          MYISAM

          不支持外鍵,表鎖,插入數據時,鎖定整個表,查表總行數時,不需要全表掃描

          INNODB

          支持外鍵,行鎖,查表總行數時,全表掃描

          4.索引有B 索引和hash索引

          索引區別

          Hash

          hash索引,等值查詢效率高,不能排序,不能進行范圍查詢

          數據有序,范圍查詢

          5.聚集索引和非聚集索引

          索引區別

          聚集索引

          數據按索引順序存儲,中子結點存儲真實的物理數據

          非聚集索引

          存儲指向真正數據行的指針

          6.索引的優缺點,什么時候使用索引,什么時候不能使用索引

          索引最大的好處是提高查詢速度,
          缺點是更新數據時效率低,因為要同時更新索引
          對數據進行頻繁查詢進建立索引,如果要頻繁更改數據不建議使用索引。
          
          • 1
          • 2
          • 3
          • 1
          • 2
          • 3

          7.InnoDB索引和MyISAM索引的區別

          一是主索引的區別,InnoDB的數據文件本身就是索引文件。而MyISAM的索引和數據是分開的。二是輔助索引的區別:InnoDB的輔助索引data域存儲相應記錄主

          8.索引的底層實現(B 樹,為何不采用紅黑樹,B樹)重點

          樹區別

          紅黑樹

          增加,刪除,紅黑樹會進行頻繁的調整,來保證紅黑樹的性質,浪費時間

          B樹也就是B-樹

          B樹,查詢性能不穩定,查詢結果高度不致,每個結點保存指向真實數據的指針,相比B 樹每一層每屋存儲的元素更多,顯得更高一點。

          B 樹

          B 樹相比較于另外兩種樹,顯得更矮更寬,查詢層次更淺

          9.B 樹的實現

          一個m階的B 樹具有如下幾個特征:
          1.有k個子樹的中間節點包含有k個元素(B樹中是k-1個元素),每個元素不保存數據,只用來索引,所有數據都保存在葉子節點。
          2.所有的葉子結點中包含了全部元素的信息,及指向含這些元素記錄的指針,且葉子結點本身依關鍵字的大小自小而大順序鏈接。
          3.所有的中間節點元素都同時存在于子節點,在子節點元素中是最大(或最小)元素
          
          • 1
          • 2
          • 3
          • 4
          • 1
          • 2
          • 3
          • 4

          10.為什么使用B Tree

          索引查找過程中就要產生磁盤I/O消耗,主要看IO次數,和磁盤存取原理有關。根據B-Tree的定義,可知檢索一次最多需要訪問h個節點。數據庫系統的設計者巧妙利用了磁盤預讀原理,將一個節點的大小設為等于一個頁,這樣每個節點只需要一次I/O就可以完全載入局部性原理與磁盤預讀

          11.Sql的優化

          1.sql盡量使用索引,而且查詢要走索引

          2.對sql語句優化

          為什么查詢優化對關系數據庫很重要_關系數據庫查詢優化的一般準則_庫查詢優化重要關系數據的方法

          子查詢變成left join
          limit 分布優化,先利用ID定位,再分頁
          or條件優化,多個or條件可以用union all對結果進行合并(union all結果可能重復)
          不必要的排序
          where代替having,having 檢索完所有記錄,才進行過濾
          避免嵌套查詢
          對多個字段進行等值查詢時,聯合索引
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7

          12.索引最左前綴問題

          如果對三個字段建立聯合索引,如果第二個字段沒有使用索引,第三個字段也使用不到索引了

          13.索引分類,索引失效條件

          索引類型概念

          普通索引

          最基本的索引,沒有任何限制

          唯一索引

          與'普通索引'類似,不同的就是:索引列的值必須唯一,但允許有空值。

          主鍵索引

          它是一種特殊的唯一索引,不允許有空值。

          全文索引

          針對較大的數據,生成全文索引很耗時好空間。

          組合索引

          為了更多的提高mysql效率可建立組合索引,遵循”最左前綴“原則

          失效條件
          條件是or,如果還想讓or條件生效,給or每個字段加個索引
          like查詢,以%開發
          內部函數
          對索引列進行計算
          is null不會用,is not null 會用
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6

          14.數據庫的主從復制

          復制方式操作

          異步復制

          默認異步復制,容易造成主庫數據和從庫不一致,一個數據庫為Master,一個數據庫為slave,通過Binlog日志,slave兩個線程,一個線程去讀master binlog日志,寫到自己的中繼日志一個線程解析日志,執行sql,master啟動一個線程,給slave傳遞binlog日志

          半同步復制

          只有把master發送的binlog日志寫到slave的中繼日志,這時主庫,才返回操作完成的反饋,性能有一定降低

          并行操作

          slave 多個線程去請求binlog日志

          15.怎么解決

          設置參數,開啟慢日志功能,得到耗時超過一定時間的sql

          16.varchar和char的使用場景

          類型使用場景

          varchar

          字符長度經常變的

          char

          用字符長度固定的

          17.數據庫連接池的作用

          維護一定數量的連接,減少創建連接的時間
          更快的響應時間
          統一的管理
          
          • 1
          • 2
          • 3
          • 1
          • 2
          • 3

          19.分庫分表,主從復制,讀寫分離

          讀寫分離,讀從庫,寫主庫spring配置兩個數據庫,通過AOP(面向切面編程),在寫或讀方法前面進行判斷得到動態切換數據源。

          20.數據庫三范式

          級別概念

          1NF

          屬性不可分

          2NF

          非主鍵屬性,完全依賴于主鍵屬性

          3NF

          非主鍵屬性無傳遞依賴

          為什么查詢優化對關系數據庫很重要_庫查詢優化重要關系數據的方法_關系數據庫查詢優化的一般準則

          21.關系型數據庫和非關系型數據庫區別

          關系型數據庫

          優點
          1、容易理解:二維表結構是非常貼近邏輯世界一個概念,關系模型相對網狀、層次等其他模型來說更容易理解;
          2、使用方便:通用的SQL語言使得操作關系型數據庫非常方便;
          3、易于維護:豐富的完整性(實體完整性、參照完整性和用戶定義的完整性)大大減低了數據冗余和數據不一致的概率;
          4、支持SQL,可用于復雜的查詢。
          5.支持事務
          缺點
          1、為了維護一致性所付出的巨大代價就是其讀寫性能比較差;
          2、固定的表結構;
          3、不支持高并發讀寫需求;
          4、不支持海量數據的高效率讀寫
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14

          非關系型數據庫

          1、使用鍵值對存儲數據;2、分布式;優點無需經過sql層的解析,讀寫性能很高基于鍵值對,數據沒有耦合性,容易擴展存儲數據的格式:nosql的存儲格式是key,value形式缺點不提供sql支持

          22.數據庫中join的left join , inner join, cross join

          1.以A,B兩張表為例
          A left join B
          選出A的所有記錄,B表中沒有的以null 代替
          right join 同理
          2.inner join
          A,B有交集的記錄
          3.cross join (笛卡爾積)
          A中的每一條記錄和B中的每一條記錄生成一條記錄
          例如A中有4條,B中有4條,cross join 就有16條記錄
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11

          23.有哪些鎖,select時怎么加排它鎖

          鎖概念

          樂觀鎖

          自己實現,通過版本號

          悲觀鎖

          共享鎖,多個事務,只能讀不能寫,加 lock in share mode

          排它鎖

          一個事務,只能寫,for update

          行鎖

          作用于數據行

          表鎖

          作于用表

          24.死鎖怎么解決

          找到進程號,kill 進程

          25.最左匹配原則

          最左匹配原則是針對索引的
          舉例來說:兩個字段(name,age)建立聯合索引,如果where age=12這樣的話,是沒有利用到索引的,
          這里我們可以簡單的理解為先是對name字段的值排序,然后對age的數據排序,如果直接查age的話,這時就沒有利用到索引了,
          查詢條件where name='xxx’ and age=xx 這時的話,就利用到索引了,再來思考下where age=xx and name=’xxx' 這個sql會利用索引嗎,
          按照正常的原則來講是不會利用到的,但是優化器會進行優化,把位置交換下。這個sql也能利用到索引了
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 1
          • 2
          • 3
          • 4
          • 5

          之前的排版有問題,效果不好,重新排了版,增加了目錄和優化了展示,

          如果覺得對你有幫助的話,求點贊,求關注,比心


          主站蜘蛛池模板: 蜜桃视频一区二区三区在线观看 | 久久久91精品国产一区二区三区| 波多野结衣中文一区| 国产亚洲情侣一区二区无码AV| 亚洲视频在线观看一区| 在线精品视频一区二区| 国产一区二区高清在线播放| 日韩在线一区视频| 99精品国产高清一区二区麻豆| 亚洲一区二区三区自拍公司| 能在线观看的一区二区三区| 亚洲一区在线免费观看| 国产成人精品视频一区二区不卡| 精品理论片一区二区三区| 无码人妻一区二区三区av| 国产精品自拍一区| 日本片免费观看一区二区| 国产在线一区二区| 国产激情视频一区二区三区| 国精产品一区一区三区免费视频| 国产日韩AV免费无码一区二区三区| 国产成人精品无码一区二区老年人| 国产一区二区三区影院| 久久精品免费一区二区| 亚洲码欧美码一区二区三区| 极品尤物一区二区三区| 国产手机精品一区二区| 久久一区二区三区精华液使用方法| 3D动漫精品一区二区三区| 中文字幕精品一区二区| 久久精品无码一区二区三区不卡| 亚洲av色香蕉一区二区三区蜜桃| 色婷婷亚洲一区二区三区| 韩国福利视频一区二区 | 亚洲A∨精品一区二区三区| 国产精品成人99一区无码| 国产高清精品一区| 亚洲一区二区三区高清| 亚洲视频一区网站| 国产在线精品一区在线观看| 久久一区二区三区99|