当前位置: 移动技术网 > IT编程>数据库>Mysql > 基于Mysql存储引擎的深入分析

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

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手册。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网