數據庫--mysql引擎詳情

關係型數據庫:sqllite,   db2,   oracle,   access,   sql,   server,   MySQL, 

非關係型數據庫:mongodb,   redis,   memcache,   nosql


版本問題:一般公司如果有一些舊的項目都是用的老版本項目MySQL5.5-5.6,新項目一般都是7.0了

# 用的公司自己搭的環境5.6  5.7   5.5  7.0    公司的時候自己問dba要

# 自己搭建的環境,新版本功能更強大,更完善,但是也可能有一些坑,因爲5.6用多了


項目使用什麼存儲引擎:

# innodb(5.6之後默認引擎)------>兩個文件(data:數據+索引, frame:表結構)

   1.用於事務處理應用程序,支持外鍵和行級鎖,如果應用對事務的完整性有比較高的需求,在併發的條件下要求

   數據的一致性,數據更多的是更新和刪除操作,那麼innodb比較適合,

   2.innodb除了有效地降低由刪除和更新導致的鎖定,還可以確保事務的完整性提交和回滾,對於類似計費系統

   或者財務系統等對數據準確要求性比較的高的系統都很適合

# myisam(5.5之前默認引擎)----->三個文件(data:數據,frame:表結構,存儲索引))

    1.支持表級鎖,查詢和插入都非常快

    2.如果應用是讀操作和插入操作,很少的更新和刪除操作,並且對事務的完整性,併發性要求不高,就可以用myisam

    3.沒有外鍵約束

# memory

   內存級別的存儲引擎, 更多的用來做緩存的,斷電會消失,所以一些查詢較高的數據,而且丟失也不影響正常運行的情況合適

   例如銀行的輸入密碼的操作

# blackhole

   用來做大數據的分流的


怎麼使用存儲引擎

mysql> create table s(id int(),name varchar(50)) ENGINE=MyISAM;

mysql> create table s(id int(),name varchar(50)) ENGINE=InnoDB;

mysql> alter tabel s engine=innodb

2.在配置文件中修改

[mysqld]

default-storage-angine=INNODB


數據類型:

char和varchar的區別:

:char定長查詢速度快,而且寫入的速度快,但是varchar節省空間,超出字符就報錯

非空加唯一多個的話,默認使用是第一個


索引問題:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章