免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
數(shù)據(jù)庫(kù)常見(jiàn)面試題(附答案)

閱讀指南

文章目錄

1.事務(wù)四大特性

 原子性,要么執(zhí)行,要么不執(zhí)行  隔離性,所有操作全部執(zhí)行完以前其它會(huì)話不能看到過(guò)程一致性,事務(wù)前后,數(shù)據(jù)總額一致持久性,一旦事務(wù)提交,對(duì)數(shù)據(jù)的改變就是永久的

2.數(shù)據(jù)庫(kù)隔離級(jí)別

臟讀:事務(wù)B讀取事務(wù)A還沒(méi)有提交的數(shù)據(jù)不可重復(fù)讀:兩次事務(wù)讀的數(shù)據(jù)不一致幻讀:事務(wù)A修改了數(shù)據(jù),事務(wù)B也修改了數(shù)據(jù),這時(shí)在事務(wù)A看來(lái),明明修改了數(shù)據(jù),咋不一樣

3.MYSQL的兩種存儲(chǔ)引擎區(qū)別(事務(wù)、鎖級(jí)別等等),各自的適用場(chǎng)景

引擎特性
MYISAM不支持外鍵,表鎖,插入數(shù)據(jù)時(shí),鎖定整個(gè)表,查表總行數(shù)時(shí),不需要全表掃描
INNODB支持外鍵,行鎖,查表總行數(shù)時(shí),全表掃描

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

索引區(qū)別
Hashhash索引,等值查詢效率高,不能排序,不能進(jìn)行范圍查詢
B+數(shù)據(jù)有序,范圍查詢

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

索引區(qū)別
聚集索引數(shù)據(jù)按索引順序存儲(chǔ),中子結(jié)點(diǎn)存儲(chǔ)真實(shí)的物理數(shù)據(jù)
非聚集索引存儲(chǔ)指向真正數(shù)據(jù)行的指針

6.索引的優(yōu)缺點(diǎn),什么時(shí)候使用索引,什么時(shí)候不能使用索引

索引最大的好處是提高查詢速度,缺點(diǎn)是更新數(shù)據(jù)時(shí)效率低,因?yàn)橐瑫r(shí)更新索引對(duì)數(shù)據(jù)進(jìn)行頻繁查詢進(jìn)建立索引,如果要頻繁更改數(shù)據(jù)不建議使用索引。

7.InnoDB索引和MyISAM索引的區(qū)別

一是主索引的區(qū)別,InnoDB的數(shù)據(jù)文件本身就是索引文件。而MyISAM的索引和數(shù)據(jù)是分開(kāi)的。二是輔助索引的區(qū)別:InnoDB的輔助索引data域存儲(chǔ)相應(yīng)記錄主

8.索引的底層實(shí)現(xiàn)(B+樹(shù),為何不采用紅黑樹(shù),B樹(shù))重點(diǎn)

樹(shù)區(qū)別
紅黑樹(shù)增加,刪除,紅黑樹(shù)會(huì)進(jìn)行頻繁的調(diào)整,來(lái)保證紅黑樹(shù)的性質(zhì),浪費(fèi)時(shí)間
B樹(shù)也就是B-樹(shù)B樹(shù),查詢性能不穩(wěn)定,查詢結(jié)果高度不致,每個(gè)結(jié)點(diǎn)保存指向真實(shí)數(shù)據(jù)的指針,相比B+樹(shù)每一層每屋存儲(chǔ)的元素更多,顯得更高一點(diǎn)。
B+樹(shù)B+樹(shù)相比較于另外兩種樹(shù),顯得更矮更寬,查詢層次更淺

9.B+樹(shù)的實(shí)現(xiàn)

一個(gè)m階的B+樹(shù)具有如下幾個(gè)特征:1.有k個(gè)子樹(shù)的中間節(jié)點(diǎn)包含有k個(gè)元素(B樹(shù)中是k-1個(gè)元素),每個(gè)元素不保存數(shù)據(jù),只用來(lái)索引,所有數(shù)據(jù)都保存在葉子節(jié)點(diǎn)。2.所有的葉子結(jié)點(diǎn)中包含了全部元素的信息,及指向含這些元素記錄的指針,且葉子結(jié)點(diǎn)本身依關(guān)鍵字的大小自小而大順序鏈接。3.所有的中間節(jié)點(diǎn)元素都同時(shí)存在于子節(jié)點(diǎn),在子節(jié)點(diǎn)元素中是最大(或最?。┰?/code>

10.為什么使用B+Tree

索引查找過(guò)程中就要產(chǎn)生磁盤(pán)I/O消耗,主要看IO次數(shù),和磁盤(pán)存取原理有關(guān)。根據(jù)B-Tree的定義,可知檢索一次最多需要訪問(wèn)h個(gè)節(jié)點(diǎn)。數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)者巧妙利用了磁盤(pán)預(yù)讀原理,將一個(gè)節(jié)點(diǎn)的大小設(shè)為等于一個(gè)頁(yè),這樣每個(gè)節(jié)點(diǎn)只需要一次I/O就可以完全載入局部性原理與磁盤(pán)預(yù)讀

11.Sql的優(yōu)化

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

2.對(duì)sql語(yǔ)句優(yōu)化

子查詢變成left joinlimit 分布優(yōu)化,先利用ID定位,再分頁(yè)or條件優(yōu)化,多個(gè)or條件可以用union all對(duì)結(jié)果進(jìn)行合并(union all結(jié)果可能重復(fù))不必要的排序where代替having,having 檢索完所有記錄,才進(jìn)行過(guò)濾避免嵌套查詢對(duì)多個(gè)字段進(jìn)行等值查詢時(shí),聯(lián)合索引

12.索引最左前綴問(wèn)題

如果對(duì)三個(gè)字段建立聯(lián)合索引,如果第二個(gè)字段沒(méi)有使用索引,第三個(gè)字段也使用不到索引了

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

索引類型概念
普通索引最基本的索引,沒(méi)有任何限制
唯一索引與"普通索引"類似,不同的就是:索引列的值必須唯一,但允許有空值。
主鍵索引它是一種特殊的唯一索引,不允許有空值。
全文索引針對(duì)較大的數(shù)據(jù),生成全文索引很耗時(shí)好空間。
組合索引為了更多的提高mysql效率可建立組合索引,遵循”最左前綴“原則
失效條件條件是or,如果還想讓or條件生效,給or每個(gè)字段加個(gè)索引like查詢,以%開(kāi)發(fā)內(nèi)部函數(shù)對(duì)索引列進(jìn)行計(jì)算is null不會(huì)用,is not null 會(huì)用

14.數(shù)據(jù)庫(kù)的主從復(fù)制

復(fù)制方式操作
異步復(fù)制默認(rèn)異步復(fù)制,容易造成主庫(kù)數(shù)據(jù)和從庫(kù)不一致,一個(gè)數(shù)據(jù)庫(kù)為Master,一個(gè)數(shù)據(jù)庫(kù)為slave,通過(guò)Binlog日志,slave兩個(gè)線程,一個(gè)線程去讀master binlog日志,寫(xiě)到自己的中繼日志一個(gè)線程解析日志,執(zhí)行sql,master啟動(dòng)一個(gè)線程,給slave傳遞binlog日志
半同步復(fù)制只有把master發(fā)送的binlog日志寫(xiě)到slave的中繼日志,這時(shí)主庫(kù),才返回操作完成的反饋,性能有一定降低
并行操作slave 多個(gè)線程去請(qǐng)求binlog日志

15.long_query怎么解決

設(shè)置參數(shù),開(kāi)啟慢日志功能,得到耗時(shí)超過(guò)一定時(shí)間的sql

16.varchar和char的使用場(chǎng)景

類型使用場(chǎng)景
varchar字符長(zhǎng)度經(jīng)常變的
char用字符長(zhǎng)度固定的

17.數(shù)據(jù)庫(kù)連接池的作用

維護(hù)一定數(shù)量的連接,減少創(chuàng)建連接的時(shí)間更快的響應(yīng)時(shí)間統(tǒng)一的管理

19.分庫(kù)分表,主從復(fù)制,讀寫(xiě)分離

讀寫(xiě)分離,讀從庫(kù),寫(xiě)主庫(kù)spring配置兩個(gè)數(shù)據(jù)庫(kù),通過(guò)AOP(面向切面編程),在寫(xiě)或讀方法前面進(jìn)行判斷得到動(dòng)態(tài)切換數(shù)據(jù)源。

20.數(shù)據(jù)庫(kù)三范式

級(jí)別概念
1NF屬性不可分
2NF非主鍵屬性,完全依賴于主鍵屬性
3NF非主鍵屬性無(wú)傳遞依賴

21.關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)區(qū)別

關(guān)系型數(shù)據(jù)庫(kù)

優(yōu)點(diǎn)1、容易理解:二維表結(jié)構(gòu)是非常貼近邏輯世界一個(gè)概念,關(guān)系模型相對(duì)網(wǎng)狀、層次等其他模型來(lái)說(shuō)更容易理解;2、使用方便:通用的SQL語(yǔ)言使得操作關(guān)系型數(shù)據(jù)庫(kù)非常方便;3、易于維護(hù):豐富的完整性(實(shí)體完整性、參照完整性和用戶定義的完整性)大大減低了數(shù)據(jù)冗余和數(shù)據(jù)不一致的概率;4、支持SQL,可用于復(fù)雜的查詢。5.支持事務(wù)缺點(diǎn)1、為了維護(hù)一致性所付出的巨大代價(jià)就是其讀寫(xiě)性能比較差;2、固定的表結(jié)構(gòu);3、不支持高并發(fā)讀寫(xiě)需求;4、不支持海量數(shù)據(jù)的高效率讀寫(xiě)

非關(guān)系型數(shù)據(jù)庫(kù)

1、使用鍵值對(duì)存儲(chǔ)數(shù)據(jù);2、分布式;優(yōu)點(diǎn)無(wú)需經(jīng)過(guò)sql層的解析,讀寫(xiě)性能很高基于鍵值對(duì),數(shù)據(jù)沒(méi)有耦合性,容易擴(kuò)展存儲(chǔ)數(shù)據(jù)的格式:nosql的存儲(chǔ)格式是key,value形式缺點(diǎn)不提供sql支持

22.數(shù)據(jù)庫(kù)中join的inner join, outer join, cross join

1.以A,B兩張表為例A left join B選出A的所有記錄,B表中沒(méi)有的以null 代替right join 同理2.inner joinA,B的所有記錄都選出,沒(méi)有的記錄以null代替3.cross join (笛卡爾積)A中的每一條記錄和B中的每一條記錄生成一條記錄例如A中有4條,B中有4條,cross join 就有16條記錄

23.有哪些鎖,select時(shí)怎么加排它鎖

概念
樂(lè)觀鎖自己實(shí)現(xiàn),通過(guò)版本號(hào)
悲觀鎖共享鎖,多個(gè)事務(wù),只能讀不能寫(xiě),加 lock in share mode
排它鎖一個(gè)事務(wù),只能寫(xiě),for update
行鎖作用于數(shù)據(jù)行
表鎖作于用表

24.死鎖怎么解決

找到進(jìn)程號(hào),kill 進(jìn)程

25.最左匹配原則

最左匹配原則是針對(duì)索引的舉例來(lái)說(shuō):兩個(gè)字段(name,age)建立聯(lián)合索引,如果where age=12這樣的話,是沒(méi)有利用到索引的,這里我們可以簡(jiǎn)單的理解為先是對(duì)name字段的值排序,然后對(duì)age的數(shù)據(jù)排序,如果直接查age的話,這時(shí)就沒(méi)有利用到索引了,查詢條件where name=‘xxx’ and age=xx 這時(shí)的話,就利用到索引了,再來(lái)思考下where age=xx and name=’xxx‘ 這個(gè)sql會(huì)利用索引嗎,按照正常的原則來(lái)講是不會(huì)利用到的,但是優(yōu)化器會(huì)進(jìn)行優(yōu)化,把位置交換下。這個(gè)sql也能利用到索引了

之前的排版有問(wèn)題,效果不好,重新排了版,增加了目錄和優(yōu)化了展示,
如果覺(jué)得對(duì)你有幫助的話,求點(diǎn)贊,求關(guān)注,比心

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服