2.
InnoDB:支持事務處理,支持外鍵袋坑,支持崩潰修復能力和并發(fā)控制桩盲。如果需要對事務的完整性要求比較高(比如銀行),要求實現并發(fā)控制(比如售票)湃番,那選擇InnoDB有很大的優(yōu)勢夭织。如果需要頻繁的更新、刪除操作的數據庫吠撮,也可以選擇InnoDB尊惰,因為支持事務的提交(commit)和回滾(rollback)。?
MyISAM:插入數據快,空間和內存使用比較低弄屡。如果表主要是用于插入新記錄和讀出記錄题禀,那么選擇MyISAM能實現處理高效率。如果應用的完整性膀捷、并發(fā)性要求比 較低迈嘹,也可以使用。
MEMORY:所有的數據都在內存中担孔,數據的處理速度快江锨,但是安全性不高。如果需要很快的讀寫速度糕篇,對數據的安全性要求較低,可以選擇MEMOEY酌心。它對表的大小有要求拌消,不能建立太大的表。所以安券,這類數據庫只使用在相對較小的數據庫表墩崩。
注意,同一個數據庫也可以使用多種存儲引擎的表侯勉。如果一個表要求比較高的事務處理鹦筹,可以選擇InnoDB。這個數據庫中可以將查詢要求比較高的表選擇MyISAM存儲址貌。如果該數據庫需要一個用于查詢的臨時表铐拐,可以選擇MEMORY存儲引擎。
4.mysql主從備份原理
一练对, mysql 備份工作原理
簡單的說就是把 一個服務器上執(zhí)行過的sql語句在別的服務器上也重復執(zhí)行一遍遍蟋, 這樣只要兩個數據庫的初態(tài)是一樣的,那么它們就能一直同步螟凭。
當然這種復制和重復都是mysql自動實現的虚青,我們只需要配置即可。
上圖中有兩個服務器螺男, 演示了從一個主服務器(master) 把數據同步到從服務器(slave)的過程棒厘。
這是一個主-從復制的例子。 主-主互相復制只是把上面的例子反過來再做一遍下隧。 所以我們以這個例子介紹原理奢人。
對于一個mysql服務器, 一般有兩個線程來負責復制和被復制汪拥。當開啟復制之后达传。
1. 作為主服務器Master,? 會把自己的每一次改動都記錄到 二進制日志 Binarylog 中。 (從服務器會負責來讀取這個log宪赶, 然后在自己那里再執(zhí)行一遍宗弯。)
2. 作為從服務器Slave, 會用master上的賬號登陸到 master上搂妻, 讀取master的Binarylog,? 寫入到自己的中繼日志 Relaylog蒙保, 然后自己的sql線程會負責讀取這個中繼日志,并執(zhí)行一遍欲主。? 到這里主服務器上的更改就同步到從服務器上了邓厕。
在mysql上可以查看當前服務器的主,從狀態(tài)扁瓢。 其實就是當前服務器的 Binary(作為主服務器角色)狀態(tài)和位置详恼。 以及其RelayLog(作為從服務器)的復制進度。
5
定長的char的優(yōu)勢:
一引几,存儲很短的信息昧互,比如門牌號碼101,201……這樣很短的信息應該用char伟桅,因為varchar還要占1個byte用于存儲信息長度敞掘,本來打算節(jié)約存儲的現在得不償失。
二楣铁,固定長度的玖雁。比如使用uuid作為主鍵,那用char應該更合適盖腕。因為他固定長度赫冬,varchar動態(tài)根據長度的特性就消失了,而且還要占1個長度信息赊堪。
三面殖,十分頻繁改變的column。因為varchar每次存儲都要有額外的計算哭廉,得到長度等工作脊僚,如果一個非常頻繁改變的,那就要有很多的精力用于計算遵绰,而這些對于char來說是不需要的辽幌。
總的說來:char定長,存儲效率不如varchar椿访,對于短數據的查詢優(yōu)于varchar
三
1 Redis不僅僅支持簡單的k/v類型的數據乌企,同時還提供list,set成玫,hash等數據結構的存儲加酵。
2 Redis支持數據的備份拳喻,即master-slave模式的數據備份。
3 Redis支持數據的持久化猪腕,可以將內存中的數據保持在磁盤中冗澈,重啟的時候可以再次加載進行使用。
相同點
降低高并發(fā)下陋葡,數據庫的壓力亚亲。
Memcached/Redis 兩者都提供基于內存的、鍵-值數據存儲腐缤,盡管Redis更準確的說是結構化數據存儲捌归。Redis是內存中的結構化數據存儲器,用于數據庫岭粤、緩存惜索、消息代理。兩者(Memcached/Redis)都屬于數據管理方案中的NoSQL家族绍在,都是基于鍵-值存儲的门扇。它們都在內存中保存數據,當然使它們作為緩存層特別有用偿渡。
截至今日,Memcached提供的每項主要功能及其優(yōu)勢霸奕,都是Redis功能和特性的子集溜宽。任何用例中可能使用Memcached的地方都可以對等的使用Redis。它們都是閃電般快速的高速緩存质帅。Memcached提供的只是Redis擁有功能的冰山一角适揉。Memcached是一個基于易失性內存的鍵-值存儲器。Redis一樣可以做到(跟Memcached做得一樣好)煤惩,但是它還是一個結構化數據服務器嫉嘀。
四
https://www.cnblogs.com/china90/p/7367396.html?tdsourcetag=s_pctim_aiomsg
五一個裝滿水的8L水瓶,一個空5L水瓶魄揉,一個空3L水瓶剪侮。請將水分成兩個4L
大瓶(8) 小瓶(5) 空瓶(3)
8? ? ? ? ? ? 0? ? ? ? ? ? 0
5? ? ? ? ? ? 0? ? ? ? ? ? 3
5? ? ? ? ? ? 3? ? ? ? ? ? 0
2? ? ? ? ? ? 3? ? ? ? ? ? 3
2? ? ? ? ? ? 5? ? ? ? ? ? 1
7? ? ? ? ? ? 0? ? ? ? ? ? 1
7? ? ? ? ? ? 1? ? ? ? ? ? ?0
4? ? ? ? ? ? ?1? ? ? ? ? ? 3
4? ? ? ? ? ? ? 4? ? ? ? ? ? 0