99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

MySQL基礎(chǔ)知識(shí)點(diǎn)整理

這篇文章主要講解了“MySQL基礎(chǔ)知識(shí)點(diǎn)整理”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“MySQL基礎(chǔ)知識(shí)點(diǎn)整理”吧!

創(chuàng)新互聯(lián)是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),網(wǎng)站空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,成都服務(wù)器托管,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國(guó)大陸、港澳臺(tái)以及歐美等多個(gè)國(guó)家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。

MySQL相關(guān)的名詞概念還是挺多的,但是常用的也不多,因此將常用的統(tǒng)計(jì)整理下,便于回顧:

?DQL:data query language,指SELECT查詢語句;?DML:data manipulation language,指SELECT、UPDATE、INSERT、DELETE這4種對(duì)數(shù)據(jù)操控語句;?DDL:data definition language,數(shù)據(jù)定義語句,創(chuàng)建/修改/刪除表結(jié)構(gòu),主要有CREATE、ALTER、DROP等;?MDL鎖:Metadata Locking,這里的metalock指的是數(shù)據(jù)庫及表的結(jié)構(gòu)信息。MySQL中,DDL不屬于事務(wù)范疇,如果事務(wù)和DDL并行執(zhí)行,操作相關(guān)聯(lián)的表的話,會(huì)出現(xiàn)各種意想不到問題,導(dǎo)致事務(wù)特性被破壞或者binlog順序錯(cuò)亂[1]等,為解決這些問題而引入MDL鎖機(jī)制。

三大范式

?第一范式:每個(gè)字段都是原子的,也就說不可再分解;?第二范式:有主鍵,非主鍵字段依賴主鍵字段;?第三范式:非主鍵之間不能相互依賴。

注意,三大范式是數(shù)據(jù)表的建議設(shè)計(jì)原則,并不是非得完全按照這個(gè)來設(shè)計(jì),具體設(shè)計(jì)還要根據(jù)實(shí)際場(chǎng)景來分析。任何給定的數(shù)據(jù)通常有多種表示方法,完全的范式話和反范式化,以及二者的折中。在范式化數(shù)據(jù)庫中,任何數(shù)據(jù)都會(huì)出現(xiàn)且只出現(xiàn)一次,相反在反范式化中,數(shù)據(jù)是冗余的。

ACID

ACID是事務(wù)的4個(gè)特性,分別是原子性、一致性、隔離性和持久性。

?A:atomicity,原子性,一個(gè)事務(wù)必須被視為一個(gè)不可分割的最小工作單元,整個(gè)事務(wù)中的所有操作要么全部提交成功,要么全部失敗回滾;?C:consistency,一致性,數(shù)據(jù)庫總是從一個(gè)一致性的狀態(tài)轉(zhuǎn)換到另一個(gè)一致性的狀態(tài);?I:isolation,隔離性,通常來說,一個(gè)事務(wù)所做的修改在最終提交以前,對(duì)其他事務(wù)是不可見的(隔離級(jí)別在非提交讀時(shí)不滿足);?D:一旦事務(wù)提交,則其所做的修改就會(huì)永久保存到數(shù)據(jù)庫中。

隔離級(jí)別

數(shù)據(jù)庫事務(wù)的4種隔離級(jí)別:

?未提交讀:一個(gè)事務(wù)可以讀到另外一個(gè)事務(wù)未提交的數(shù)據(jù)。?提交度:一個(gè)事務(wù)更新數(shù)據(jù)過程中,如果事務(wù)還未提交,其他事務(wù)讀不到該數(shù)據(jù)。?可重復(fù)讀:該級(jí)別保證了在同一個(gè)事務(wù)中,多次讀取同樣記錄的結(jié)果是一樣的,解決了“提交讀”中不可重復(fù)讀的問題。但是理論上還是無法解決幻讀問題(通過間隙鎖可解決幻讀問題)。?串行化:將所有事務(wù)都進(jìn)行串行化處理,等級(jí)最高的隔離級(jí)別。

幻讀問題

幻讀就是當(dāng)事務(wù)在讀取某個(gè)范圍數(shù)據(jù)時(shí),另一個(gè)事務(wù)又在該范圍插入了新的數(shù)據(jù),當(dāng)之前的事務(wù)再次讀取該范圍數(shù)據(jù)時(shí),就會(huì)產(chǎn)生幻行。產(chǎn)生幻讀的原因是之前的事務(wù)在讀取數(shù)據(jù)的范圍沒有增加范圍鎖(range-locks),也就是讀取時(shí)只是鎖定的行級(jí)共享鎖,沒有鎖定整個(gè)查詢區(qū)間或者表。

常見索引結(jié)構(gòu)

?B+樹索引:B+ 樹是關(guān)系型數(shù)據(jù)庫中常見的索引類型。注意:B+樹所以并不能找到一個(gè)給定鍵值的具體行,只能找到被查找數(shù)據(jù)行所在的頁,然后數(shù)據(jù)庫將頁讀入內(nèi)存,在內(nèi)存中進(jìn)行查找,最后得到要查找的數(shù)據(jù);?哈希索引:InnoDB支持的哈希索引是自適應(yīng)的,不能人為干預(yù)在一張表中生成哈希索引,innodb會(huì)根據(jù)表的使用情況自動(dòng)生成哈希索引;?全文索引:InnoDB支持全文索引,但是每張表只能有一個(gè)全文檢索的索引,一般都是使用倒排索引技術(shù)來實(shí)現(xiàn)。

聚集索引和非聚集索引

聚集索引就是主鍵索引,其葉子節(jié)點(diǎn)就是記錄的數(shù)據(jù)(頁)。非聚集索引也叫做輔助索引,其葉子結(jié)點(diǎn)記錄的是主鍵值。以表t為例說明如下:

create table T (ID int primary key,k int NOT NULL DEFAULT 0,s varchar(16) NOT NULL DEFAULT '',index k(k)) engine=InnoDB;
insert into T values(100,1, 'aa'),(200,2,'bb'),(300,3,'cc'),(500,5,'ee'),(600,6,'ff');

表T對(duì)應(yīng)的主鍵索引和輔助索引如下:

MySQL基礎(chǔ)知識(shí)點(diǎn)整理

幾個(gè)日志

?redo log:記錄的是頁的物理操作,InnoDB通過將事務(wù)操作先寫redo log,而不是將數(shù)據(jù)頁的更新寫磁盤,相當(dāng)于將磁盤隨機(jī)寫(data文件)變成了順序?qū)?redo log),后續(xù)在MySQL"空閑"時(shí)再慢慢寫磁盤,提高服務(wù)器性能;?undo log:undo log保存了事務(wù)發(fā)生之前的數(shù)據(jù)的版本,可用于回滾,同時(shí)可提供多版本并發(fā)控制讀(MVCC),也就是非鎖定讀。undo log是邏輯日志,在執(zhí)行undo時(shí),僅僅是將數(shù)據(jù)邏輯上恢復(fù)至事務(wù)之前的狀態(tài),而不是從物理頁上操作的,這一條不同于redo log。事務(wù)開始時(shí)將當(dāng)前版本生成undo log,undo也會(huì)產(chǎn)生redo來保證undo log可靠性;?binlog:binlog是mysql層面的歸檔日志,可用于主從復(fù)制和數(shù)據(jù)庫基于時(shí)間點(diǎn)的還原。binlog記錄的是邏輯日志,記錄的是DDL和DML操作日志,可以簡(jiǎn)單認(rèn)為是執(zhí)行過的事務(wù)中的更新sql語句。?慢查詢、錯(cuò)誤日志等。

幾個(gè)文件

?.ibd文件和.ibdata文件:.ibd文件和ibdata文件都是存放innodb數(shù)據(jù)的文件,之所有有2個(gè),因?yàn)閕nnodb支持配置來決定是使用共享表空間還是獨(dú)享表空間。獨(dú)享表空間使用".ibd"文件存儲(chǔ)數(shù)據(jù),并且每個(gè)表有一個(gè).ibd文件;如果使用共享表空間,則會(huì)使用ibdata文件,所有表公用一個(gè)(或者配置多個(gè))ibdata文件。?.ifm文件:存放表相關(guān)的元數(shù)據(jù)信息。

感謝各位的閱讀,以上就是“MySQL基礎(chǔ)知識(shí)點(diǎn)整理”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)MySQL基礎(chǔ)知識(shí)點(diǎn)整理這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

新聞標(biāo)題:MySQL基礎(chǔ)知識(shí)點(diǎn)整理
本文網(wǎng)址:http://www.yijiale78.com/article48/joohhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作搜索引擎優(yōu)化網(wǎng)站策劃建站公司App開發(fā)網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)