码迷,mamicode.com
首页 > 数据库 > 详细

MySQL引擎讲解

时间:2015-08-09 19:01:55      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:mysql引擎

  MySQL支持三个引擎:ISAMMyISAMHEAP,根据需求不同来选择不同的引擎

  数据库的引擎到决于 MySQL 在安装的时候是如何被编译的,要添加一个新的引擎,就必须重新编译

    --with-plugins=partition,innobase


ISAM:

    读取操作速度很快,而且不占用大量的内存和存储资源

    不支持事物处理

    不能够容错

    若硬盘崩溃,将无法恢复数据


MyISAM:(默认表类型)


MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎,有如下扩展:

1)、二进制层次的可移植性。

2)、NULL列索引。

3)、对变长行比ISAM表有更少的碎片。

4)、支持大文件。

5)、更好的索引压缩。

6)、更好的键码统计分布。

7)、更好和更快的auto_increment处理。


MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务




InnoDB Berkley DB(BDB):(支持事物安全)

    支持外键

    支持行锁

    支持事务

    采用双授权:GPL和 商业授权


  适用于有大量的 update 和 insert 操作,高并发 QPS(每秒查询率) 较高 的环境


查看数据库引擎:

 

 查看现已提供存储引擎: mysql> show engines;


  查看当前默认存储引擎: mysql> show variables like ‘%storage_engine%‘;


  查看某个表用了什么引擎(在显示结果里,参数 engine 后面的参数):

            mysql> show create table 表名;

         如: mysql> show create test_db;


修改 MySQL 表空间引擎:


 设置 InnoDB 为默认引擎:

    在配置文件my.cnf 中的[mysqld] 下面加入 default-storage-engine=INNODB


 修改表引擎:

    alter table test_db  engine=myisam;

    alter table test_db  engine=innodb;


    注意:如果添加innodb 引擎报错,需删除 /mysql/data 目录下的             ib_logfile0,ib_logfile1 文件即可

MySQL引擎讲解

标签:mysql引擎

原文地址:http://songqinglong.blog.51cto.com/7591177/1683078

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!