当前位置:Gxlcms > mysql > 基于Mysql存储引擎的深入分析

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

时间:2021-07-01 10:21:17 帮助过:32人阅读

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

您可能感兴趣的文章:

  • MySQL存储引擎总结
  • MySQL存储引擎MyISAM与InnoDB的9点区别
  • MySQL修改数据表存储引擎的3种方法介绍
  • MySQL数据库MyISAM存储引擎转为Innodb的方法
  • MySQL禁用InnoDB引擎的方法
  • MySQL存储引擎简介及MyISAM和InnoDB的区别
  • mysql数据库修改数据表引擎的方法
  • 深入MySQL存储引擎比较的详解
  • 深入理解MySQL的数据库引擎的类型
  • mysql更改引擎(InnoDB,MyISAM)的方法

人气教程排行