MySQL優化----------選擇合適的存儲引擎

本節將Mysql的存儲引擎,有三種:Myisam,InnoDB,Memory

Myisam:如果表對事物要求不高,同時以查詢和添加爲主,可以考慮使用

                 MyISAM存儲引擎。比如:發帖表,回覆表

InnoDB:對事物要求高,保存的數據都是重要數據,可以使用INNODB存

                 儲引擎。比如:訂單表,賬戶表

Memory:比如:數據變化頻繁,不需要入庫,同時頻繁的查詢和修改,

                 可以使用Memory存 儲引擎

注:如果數據庫的存儲引擎是Myisam,那麼一定要定時進行碎片整理

爲什麼要進行碎片整理?

建一張表test100

 create table test111(id int, name varchar(50))engine=myisam;

批量添加數據

insert into test111 values(1, 'aaaa');
insert into test111 values(2, 'bbbb');
insert into test111 values(3, 'cccc');
//多進行幾次這條sql
insert into test111 select id,name from test111;

如果我們刪除id爲3的數據呢,會有什麼變化?

delete from test111 where id=3;

刷新後發現test111.MYD沒有變化,也就是說,刪除數據了,但是這個文件的內存大小沒有減少,如果數據量小還好說,可是如果是海量數據,一兩年以後就會變得很卡。

如何解決呢,這就需要碎片整理:optimize table 表名

optimize table test111;

 

 

再次刷新以後發現test111.MYD文件變小了。 

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