時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
我們知道,MySQL Cluster 產(chǎn)品用的主要的引擎為:NDB。 很多人說(shuō)對(duì)于NDB來(lái)說(shuō),執(zhí)行SQL語(yǔ)句的性能很差。但是我覺得主要是沒有仔細(xì)的探索。
對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō),要判斷他的性能如何,無(wú)非是要看兩點(diǎn):
1. 對(duì)于數(shù)據(jù)庫(kù)的寫操作,這里涉及到INSERT, DELETE,UPDATE, DROP等實(shí)實(shí)在在的語(yǔ)句。
2. 對(duì)于數(shù)據(jù)庫(kù)的讀操作,這里主要是用來(lái)查詢的SELECT語(yǔ)句。
那么,我們?cè)趺礃硬拍軐?duì)這些語(yǔ)句,也就是說(shuō)讓這些語(yǔ)句在用在他們擅長(zhǎng)的場(chǎng)合呢?首先我們來(lái)看看初步看看寫操作的優(yōu)化。
對(duì)于寫來(lái)說(shuō),要優(yōu)化有以下幾點(diǎn):
1. 選擇合適的字段類型。 比如:你要存儲(chǔ)3個(gè)字節(jié)的字符到NDB,那么你應(yīng)該選擇VARCHAR(3), 而不是VARCHAR(4)或者 VARCHAR(5)。 因?yàn)閷?duì)于NDB來(lái)講,每一行的每一列都要對(duì)應(yīng)的以4個(gè)字節(jié)的倍數(shù)來(lái)存儲(chǔ),所以對(duì)于VARCHAR(3)來(lái)說(shuō),對(duì)于4個(gè)字節(jié),那么對(duì)于VARCHAR(4) 呢,就得等于8個(gè)字節(jié)了。
2. 選擇合適的索引, 刪除不必要的索引。 大家都知道,NDB自身可用的索引類型為T-TREE和HASH。 對(duì)于任何主鍵和唯一索引,都以HASH結(jié)構(gòu)來(lái)存放。對(duì)于其他的索引,都以T-TREE來(lái)存放。那么我們來(lái)看下面的這個(gè)簡(jiǎn)單的表結(jié)構(gòu):
create table ytt_1 (id int not null, primary key (id)) engine ndb;
create table ytt_2 (id int not null, primary key (id) using hash) engine ndb;
大家覺得上面兩個(gè)表結(jié)構(gòu)的寫性能哪個(gè)好呢?答案是ytt_2. 這個(gè)可以好好思考下為什么!
那么對(duì)于讀呢?怎么優(yōu)化?
有的人會(huì)問,我看到一大堆大堆得人把NDB 和 INNODB 以及MYISAM這些傳統(tǒng)的引擎來(lái)對(duì)比。 這無(wú)疑是一種大大的錯(cuò)誤! 其實(shí)說(shuō)白了,他們的處理方式是一樣的。但是你的對(duì)比硬件環(huán)境是否允許?
1. NDB 為什么叫NDB? NETWORK DATABASE。網(wǎng)絡(luò)數(shù)據(jù)庫(kù)。也就是說(shuō)NDB的每項(xiàng)操作都要跟網(wǎng)絡(luò)相關(guān)。特別是對(duì)于他不擅長(zhǎng)的JOIN操作。
2. 對(duì)于單表而且是根據(jù)主鍵來(lái)查找,那速度可是來(lái)的非???!
其實(shí)最重要的一點(diǎn)就是NDB能保證數(shù)據(jù)5個(gè)9的可靠性,其他引擎能嗎?
關(guān)鍵詞標(biāo)簽:mysql集群表優(yōu)化
相關(guān)閱讀
熱門文章 Xbox Game Pass 10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦 MySQL常用維護(hù)管理工具 MySQL數(shù)據(jù)庫(kù)啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié)
人氣排行 10款MySQL數(shù)據(jù)庫(kù)客戶端圖形界面管理工具推薦 MySQL數(shù)據(jù)庫(kù)啟動(dòng)失敗1067進(jìn)程意外終止的解決辦法總結(jié) Mysql 1045錯(cuò)誤解決辦法 MySQL服務(wù)器進(jìn)程CPU占用100%解決辦法 MySQL導(dǎo)出導(dǎo)入命令的用例 MySQL連接字符串的實(shí)際操作步驟匯總 MySQL無(wú)法啟動(dòng)、無(wú)法停止各種解決方法總結(jié) 三種常用的MySQL建表語(yǔ)句