MySQL引擎讲解

MySQL支持三个引擎:ISAM、MyISAM和HEAP,根据需求不同来选择不同的引擎

数据库的引擎到决于 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 文件即可

时间: 2024-10-11 11:58:46

MySQL引擎讲解的相关文章

MySQL 配置讲解

MySQL 配置讲解 MySQL安装好后,我们是从安装包的support-files里面复制过来一个末班配置文件,默认MySQL配置文件是在/etc/my.cnf下,其实这个路径或者文件名字我们是可以修改的,在启动脚本中修改. 以下是一些常用的设置: [mysqld] socket          = /tmp/mysql.sock #为MySQL客户程序与服务器之间的本地通信制定一个套接字文件(Linux下默认是/var/lib/mysql/mysql.sock文件) port      

mysql引擎和mysql日志相关总结

mysql日志 01.错误日志: 可以在my.cnf里面配置: [mysqld_safe] log-error=/data/3306/mysql_qb3306.err 02.查询日志 普通查询日志:纪录客户端连接信息和执行的sql语句信息(由于占用内存,作用也不是很大,就一般是关着的) mysql> show variables like 'general_log%'; +------------------+--------------------------+ | Variable_name

生产环境批量修改mysql引擎

生产环境中如何批量修改MySQL引擎 一般来说这样的需求并不多见,但是偶尔也会有,在这里我们推荐使用sed对备份的内容进行引擎转换的方式,当然了,不要忘记修改my.cnf使之支持并能高效的使用对于的引用. 方法1 mysql命令语句修改 创建后引擎更改,5.0版本之后 alter table lvnian engine=innodb; alter table lvnian engine=MyISAM; 其中lvnian是表名 更改实例 ##############################

mysql引擎查看和修改

#1 查看mysql引擎(其中default为默认) show engines; #2 修改mysql引擎 vi /etc/my.cnf [mysqld] default-storage-engine=INNODB /etc/init.d/mysqld restart

浅谈MYSQL引擎之INNODB引擎

MYSQL 常用的引擎主要有一下几种,MRG_MYISAM .CSV .MyISAM.InnoDB.MEMORY ,NDB,其中MyISAM.InnoDB是mysql最常用的存储引擎,今天主要讨论 InnoDB引擎. 一.什么是InnoDB引擎 InnoDB引擎是MYSQL数据库的另一个重要的额存储引擎,正成为目前MYSQL AB所有发行新版的标准,被包含在所有二进制安装包里. 和其他的存储引擎相比,InnoDB引擎的优点支持兼容ACID的事物,以及参数完整性(即对外建的支持). MYSQL5.

MySQL · 引擎特性 · InnoDB 崩溃恢复过程

MySQL · 引擎特性 · InnoDB 崩溃恢复过程 在前面两期月报中,我们详细介绍了 InnoDB redo log 和 undo log 的相关知识,本文将介绍 InnoDB 在崩溃恢复时的主要流程. 本文代码分析基于 MySQL 5.7.7-RC 版本,函数入口为 innobase_start_or_create_for_mysql,这是一个非常冗长的函数,本文只涉及和崩溃恢复相关的代码. 在阅读本文前,强烈建议翻阅我们之前的两期月报:1. MySQL · 引擎特性 · InnoDB

深入浅析mysql引擎

mysql引擎 mysql数据库引擎取决于mysql在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译mysql.在缺省情况下,mysql支持三个引擎:ISAM,MYISAM和HEAP.另外两种类型INNODB和BERKLEY(BDB),也常常可以使用.下面介绍几种数据库引擎: ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到 数据库被查询的次数要远大于更新的次数.因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源.ISAM的两

Mysql引擎介绍

Mysql引擎介绍 Innodb存储引擎 支持事务,在OLTP方面支持行级锁.外键: 通过多版本并发控制MVCC来获得高并发性,并实现SQL的4种隔离级别(默认repeatable): 提供insert buffer,double write,自适应hash索引,预读: 对于表中数据的存储,innodb采用clustered.每张表的存储按照主键的顺序存放:若表没有显式定义主键,innodb会为每一行生成一个6字节的rowid,作为主键. Myisam存储引擎 不支持事务,表锁,全文索引,对OL

MySQL · 引擎特性 · InnoDB 事务系统

MySQL · 引擎特性 · InnoDB 事务系统 前言 关系型数据库的事务机制因其有原子性,一致性等优秀特性深受开发者喜爱,类似的思想已经被应用到很多其他系统上,例如文件系统等.本文主要介绍InnoDB事务子系统,主要包括,事务的启动,事务的提交,事务的回滚,多版本控制,垃圾清理,回滚段以及相应的参数和监控方法.代码主要基于RDS 5.6,部分特性已经开源到AliSQL.事务系统是InnoDB最核心的中控系统,涉及的代码比较多,主要集中在trx目录,read目录以及row目录中的一部分,包括