基于Mysql存储引擎的深入分析

时间:2021-05-02

MySQL有很多种存储引擎,针对不同的应用,可以为每张表选择合适的存储引擎,这样有助于提升MySQL性能。 创建新闻表news: 复制代码 代码如下: CREATE TABLE `sandbox`.`news` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(45) NULL , `content` VARCHAR(45) NULL , `created` VARCHAR(45) NULL , PRIMARY KEY (`id`) ) ENGINE = MyISAM; 注意,MySQL大小写敏不敏感,是由你所使用的平台决定的,在Windows下,Mysql大小写不敏感;在Linux平台下,MySQL大小写敏感。 最后一句SQL语句ENGINE=“存储引擎名”,就是为表选择存储引擎,MySQL允许我们在创建表的时候选择不同的存储引擎,那么MySQL到底都有哪些存储引擎呢? MySQL存储引擎包括:MyISAM引擎,MyISAM Merge引擎,InnoDB引擎,Memory引擎,Archive引擎,CSV引擎,Federated引擎,Blackhle引擎,NDB Cluster引擎,Falcon引擎,SolidDB引擎,PBXT引擎, Maria引擎和其它引擎。建表时,选择合适的存储引擎很重要,如果到后期再更换将会很麻烦。这里,我们只介绍常用的三种存储引擎: MyISAM引擎 MyISAM引擎是MySQL默认的存储引擎,MyISAM不支持事务和行级锁,所以MyISAM引擎速度很快,性能优秀。MyISAM可以对整张表加锁,支持并发插入,支持全文索引。 如果你不需要事务支持,通常我们建表时都选用MyISAM存储引擎,像新闻表之类都没有必要支持事务。 InnoDB引擎 InnoDB是专为事务设计的存储引擎,支持事务,支持外键,拥有高并发处理能力。但是,InnoDB在创建索引和加载数据时,比MyISAM慢。 涉及到货币操作一般都需要支持事务,什么都能错,钱不能出错。 Memory引擎 内存表,Memory引擎将数据存储在内存中,表结构不是存储在内存中的,查询时不需要执行I/O操作,所以要比MyISAM和InnoDB快很多倍,但是数据库断电或是重启后,表中的数据将会丢失,表结构不会 丢失。如果你需要将SESSION数据存在数据库中,那么使用Memory引擎是个不错的选择。 通常,我们使用这三种存储引擎就够了,更多的介绍请查阅MySQL手册。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章