从使用MYSQL到现在,大概有一年的时间了,都是仅限于会写sql语句,但是对于mysql的底层,存于不懂的状态,最近一段时间抽空研究了一下关于MSYSQL,把我学到的内容和大家分享一下。
MySql的存储引擎是特有的,在其他的数据库中没有这么一个概念,存储引擎可以针对不同的存储需求可以选择最优的存储引擎.Mysql默认支持多种存储引擎,以适用于不同领域的数据库应用需要,用户可以通过选择适用不同的存储引擎提高应用的效应,提供灵活的存储,用户甚至可以按照自己的需要定制和使用自己的存储引擎,以实现最大程度的可定制性.
MYSQL 5.0支持的存储引擎包括MyISAM,InnoDB,BDB,MEMORY,MERGE,,EXANOKE,NDBCluster,ARCHIVE,CSV,BLACKHOLE,FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表.
查看新表的默认存储引擎,可以使用的命令:
可以看出所使用的引擎是InnoDB.
可以通过以下两种方式查看当前数据库支持的存储引擎,方法一:
show ENGINES;
结果:
从表格中可以看出,默认的存储引擎是InnoDB;
方法二:
show variables like 'have%';
其结果:
其中value显示未Disabled的记录表示支持该存储引擎,但是数据启动的时候被禁用.
其实在创建新表的时候,可以通过增加ENGINE关键字设置新表的存储引擎,例如:
MyISAM索引
INNODB索引
那么对于常用的存储引擎,我用一张表格来总结一下:
充分的利用Mysql的存储索引,有利于提高系统的性能。