欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么看mysql用的引擎 如何查看mysql的數(shù)據(jù)庫

如何查看MySQL的當前存儲引擎

查看當前表的默認存儲引擎,可以使用如下圖所示的命令。查詢之后,我們可以查看筆者這里這個表默認的存儲引擎是:InnoDB.

創(chuàng)新互聯(lián)長期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為澄江企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站制作,澄江網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

如果我們想知道當前MySQL提供什么存儲引擎,可以使用如下圖所示的命令。通過查詢我們知道,筆者所安裝的MySQL提供了9種不同的存儲引擎。

如果我們想要知道當前數(shù)據(jù)庫默認的是什么存儲引擎,可以使用如下圖所示的命令。通過查詢我們知道,筆者所安裝的MySQL默認的存儲引擎是InnoDB。

給一個新建的表指定特定的存儲引擎,比如我們要新建一個“t2”表,我們希望這個表的存儲引擎是MyISAM,具體操作如下圖所示。

修改一個已經(jīng)存在表的存儲引擎,假設(shè)這里我們想要修改“t1”表的存儲引擎。我們就可以按下圖所示的命令來操作。執(zhí)行之后,我們的t1表的存儲引擎,就從默認的InnoDB變?yōu)榱薈SV.

查看MySQL 支持的存儲引擎

查看MySQL 支持的存儲引擎有三種語句格式:

格式一:SHOW ENGINES;

格式二:SHOW ENGINES\g

格式三:SHOW ENGINES\G

這三種格式區(qū)別僅在于使用的“結(jié)束符”不同,這會導(dǎo)致“命令執(zhí)行結(jié)果的顯示”不同。其中“\G”的顯示效果最好,對所支持的各種存儲引擎會從“引擎名稱”、“是否支持該引擎”、“關(guān)于該引擎的說明、評論”、“是不是支持事務(wù)”、“該引擎支持的分布式是否支持XA規(guī)范”、“是否支持事務(wù)處理中的保存點”等方面逐個地、詳細地顯示出來;使用“;”和“\g”作用相同,僅簡單顯示各個存儲引擎的信息。

如何查看mysql數(shù)據(jù)庫的引擎

一般情況下,mysql會默認提供多種存儲引擎,你可以通過下面的查看:

看你的mysql現(xiàn)在已提供什么存儲引擎:

mysql show engines;

看你的mysql當前默認的存儲引擎:

mysql show variables like '%storage_engine%';

你要看某個表用了什么引擎(在顯示結(jié)果里參數(shù)engine后面的就表示該表當前用的存儲引擎):

mysql show create table 表名;

MySQL數(shù)據(jù)庫引擎詳解

作為Java程序員,MySQL數(shù)據(jù)庫大家平時應(yīng)該都沒少使用吧,對MySQL數(shù)據(jù)庫的引擎應(yīng)該也有所了解,這篇文章就讓我詳細的說說MySQL數(shù)據(jù)庫的Innodb和MyIASM兩種引擎以及其索引結(jié)構(gòu)。也來鞏固一下自己對這塊知識的掌握。

Innodb引擎

Innodb引擎提供了對數(shù)據(jù)庫ACID事務(wù)的支持,并且實現(xiàn)了SQL標準的四種隔離級別,關(guān)于數(shù)據(jù)庫事務(wù)與其隔離級別的內(nèi)容請見數(shù)據(jù)庫事務(wù)與其隔

離級別這篇文章。該引擎還提供了行級鎖和外鍵約束,它的設(shè)計目標是處理大容量數(shù)據(jù)庫系統(tǒng),它本身其實就是基于MySQL后臺的完整數(shù)據(jù)庫系統(tǒng),MySQL

運行時Innodb會在內(nèi)存中建立緩沖池,用于緩沖數(shù)據(jù)和索引。但是該引擎不支持FULLTEXT類型的索引,而且它沒有保存表的行數(shù),當SELECT

COUNT(*) FROM

TABLE時需要掃描全表。當需要使用數(shù)據(jù)庫事務(wù)時,該引擎當然是首選。由于鎖的粒度更小,寫操作不會鎖定全表,所以在并發(fā)較高時,使用Innodb引擎

會提升效率。但是使用行級鎖也不是絕對的,如果在執(zhí)行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表。

MyIASM引擎

MyIASM是MySQL默認的引擎,但是它沒有提供對數(shù)據(jù)庫事務(wù)的支持,也不支持行級鎖和外鍵,因此當INSERT(插入)或UPDATE(更

新)數(shù)據(jù)時即寫操作需要鎖定整個表,效率便會低一些。不過和Innodb不同,MyIASM中存儲了表的行數(shù),于是SELECT COUNT(*)

FROM

TABLE時只需要直接讀取已經(jīng)保存好的值而不需要進行全表掃描。如果表的讀操作遠遠多于寫操作且不需要數(shù)據(jù)庫事務(wù)的支持,那么MyIASM也是很好的選

擇。

兩種引擎的選擇

大尺寸的數(shù)據(jù)集趨向于選擇InnoDB引擎,因為它支持事務(wù)處理和故障恢復(fù)。數(shù)據(jù)庫的大小決定了故障恢復(fù)的時間長短,InnoDB可以利用事務(wù)日志

進行數(shù)據(jù)恢復(fù),這會比較快。主鍵查詢在InnoDB引擎下也會相當快,不過需要注意的是如果主鍵太長也會導(dǎo)致性能問題,關(guān)于這個問題我會在下文中講到。大

批的INSERT語句(在每個INSERT語句中寫入多行,批量插入)在MyISAM下會快一些,但是UPDATE語句在InnoDB下則會更快一些,尤

其是在并發(fā)量大的時候。

Index——索引

索引(Index)是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。MyIASM和Innodb都使用了樹這種數(shù)據(jù)結(jié)構(gòu)做為索引,關(guān)于樹我也曾經(jīng)寫過一篇文章樹是一種偉大的數(shù)據(jù)結(jié)構(gòu),只是自己的理解,有興趣的朋友可以去閱讀。下面我接著講這兩種引擎使用的索引結(jié)構(gòu),講到這里,首先應(yīng)該談一下B-Tree和B+Tree。

B-Tree和B+Tree

B+Tree是B-Tree的變種,那么我就先講B-Tree吧,相信大家都知道紅黑樹,這是我前段時間學(xué)《算法》一書時,實現(xiàn)的一顆紅黑樹,大家

可以參考。其實紅黑樹類似2,3-查找樹,這種樹既有2叉結(jié)點又有3叉結(jié)點。B-Tree也與之類似,它的每個結(jié)點做多可以有d個分支(叉),d稱為B-

Tree的度,如下圖所示,它的每個結(jié)點可以有4個元素,5個分支,于是它的度為5。B-Tree中的元素是有序的,比如圖中元素7左邊的指針指向的結(jié)點

中的元素都小于7,而元素7和16之間的指針指向的結(jié)點中的元素都處于7和16之間,正是滿足這樣的關(guān)系,才能高效的查找:首先從根節(jié)點進行二分查找,找

到就返回對應(yīng)的值,否則就進入相應(yīng)的區(qū)間結(jié)點遞歸的查找,直到找到對應(yīng)的元素或找到null指針,找到null指針則表示查找失敗。這個查找是十分高效

的,其時間復(fù)雜度為O(logN)(以d為底,當d很大時,樹的高度就很低),因為每次檢索最多只需要檢索樹高h個結(jié)點。

接下來就該講B+Tree了,它是B-Tree的變種,如下面兩張圖所示:

vcHLx/i85LLp0a/Qp8LKoaM8L3A+DQo8aDMgaWQ9"myisam引擎的索引結(jié)構(gòu)"MyISAM引擎的索引結(jié)構(gòu)

MyISAM引擎的索引結(jié)構(gòu)為B+Tree,其中B+Tree的數(shù)據(jù)域存儲的內(nèi)容為實際數(shù)據(jù)的地址,也就是說它的索引和實際的數(shù)據(jù)是分開的,只不過是用索引指向了實際的數(shù)據(jù),這種索引就是所謂的非聚集索引。

Innodb引擎的索引結(jié)構(gòu)

MyISAM引擎的索引結(jié)構(gòu)同樣也是B+Tree,但是Innodb的索引文件本身就是數(shù)據(jù)文件,即B+Tree的數(shù)據(jù)域存儲的就是實際的數(shù)據(jù),這種索引就是聚集索引。這個索引的key就是數(shù)據(jù)表的主鍵,因此InnoDB表數(shù)據(jù)文件本身就是主索引。

因為InnoDB的數(shù)據(jù)文件本身要按主鍵聚集,所以InnoDB要求表必須有主鍵(MyISAM可以沒有),如果沒有顯式指定,則MySQL系統(tǒng)會自動選擇一個可以唯一標識數(shù)據(jù)記錄的列作為主鍵,如果不存在這種列,則MySQL自動為InnoDB表生成一個隱含字段作為主鍵,這個字段長度為6個字節(jié),類型為長整形。

并且和MyISAM不同,InnoDB的輔助索引數(shù)據(jù)域存儲的也是相應(yīng)記錄主鍵的值而不是地址,所以當以輔助索引查找時,會先根據(jù)輔助索引找到主

鍵,再根據(jù)主鍵索引找到實際的數(shù)據(jù)。所以Innodb不建議使用過長的主鍵,否則會使輔助索引變得過大。建議使用自增的字段作為主鍵,這樣B+Tree的

每一個結(jié)點都會被順序的填滿,而不會頻繁的分裂調(diào)整,會有效的提升插入數(shù)據(jù)的效率。

查看當前MySQL 支持的存儲引擎

2. 查看當前MySQL 支持的存儲引擎

查看當前MySQL支持的存儲引擎的命令可以使用:“SHOW VARIABLES”,在其后帶上“LIKE '%storage_engine%'”參數(shù):

SHOW VARIABLES LIKE '%storage_engine%';

其中,'%storage_engine%'是使用了通配字符的一個字符串,用來指代包含“storage_engine”的若干參數(shù)變量,如執(zhí)行后找到符合要求的,則在執(zhí)行結(jié)果中會有Variable_name參數(shù)表示存儲引擎的名字;Value參數(shù)表示系統(tǒng)是否支持該存儲引擎。

網(wǎng)站標題:怎么看mysql用的引擎 如何查看mysql的數(shù)據(jù)庫
本文網(wǎng)址:http://chinadenli.net/article46/dojgdeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈定制開發(fā)網(wǎng)站設(shè)計公司Google軟件開發(fā)網(wǎng)站制作

廣告

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

外貿(mào)網(wǎng)站制作