日期:2014-05-16  浏览次数:20785 次

高性能MySql学习笔记——存储引擎

最关心的是MyIsam和InnoDB两种。

MyIsam:

存储文件:

数据文件:.MYD

索引文件:.MYI

特点:

表锁,不支持事务,支持全文索引,支持对TEXT和BLOB类型建立索引

数据恢复貌似很慢,因为没有log

?

InnoDB:

特点:

行锁,支持事务,数据恢复块,因为有binlog

曾经有人问:数据量很大,不需要事务支持,使用哪种存储引擎好?

dba给出的建议是InnoDB。理由没说,我猜数据恢复的难易应该是决定选择的主要原因吧,一旦出事儿,MyIsam要恢复很long的时间,那是不可接受的。使用InnoDB,但不开启事务,就不会有事务管理的开销了。

?

最后,如何查看表的存储引擎:

mysql> SHOW TABLE STATUS LIKE 'mytable' \G
*************************** 1. row ***************************
Name: mytable
Engine: MyISAM
Row_format: Fixed
Rows: 0
Avg_row_length: 0
Data_length: 0
Max_data_length: 98784247807
Index_length: 1024
Data_free: 0
Auto_increment: NULL
Create_time: 2002-02-24 17:36:57
Update_time: 2002-02-24 17:36:57
Check_time: NULL
Create_options: max_rows=1000000000 avg_row_length=32
Comment:
1 row in set (0.05 sec)

?