首页 > 数据库 > MySQL > 正文

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

2024-07-24 12:40:56
字体:
来源:转载
供稿:网友
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手册。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表