MySQL各存储引擎(INNODB,MyISAM等)的区别及其启动方法

2016-01-29 15:01 8 1 收藏

MySQL各存储引擎(INNODB,MyISAM等)的区别及其启动方法,MySQL各存储引擎(INNODB,MyISAM等)的区别及其启动方法

【 tulaoshi.com - MySQL 】

存储引擎是什么?

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。

例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存存储引擎能够在内存中存储所有的表格数据。又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。

这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。你可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储你的信息、如何检索这些信息以及你需要你的数据结合什么性能和功能的时候为你提供最大的灵活性。

选择如何存储和检索你的数据的这种灵活性是MySQL为什么如此受欢迎的主要原因。其它数据库系统(包括大多数商业选择)仅支持一种类型的数据存储。遗憾的是,其它类型的数据库解决方案采取的“一个尺码满足一切需求”的方式意味着你要么就牺牲一些性能,要么你就用几个小时甚至几天的时间详细调整你的数据库。使用MySQL,我们仅需要修改我们使用的存储引擎就可以了。

在这篇文章中,我们不准备集中讨论不同的存储引擎的技术方面的问题(尽管我们不可避免地要研究这些因素的某些方面),相反,我们将集中介绍这些不同的引擎分别最适应哪种需求和如何启用不同的存储引擎。为了实现这个目的,在介绍每一个存储引擎的具体情况之前,我们必须要了解一些基本的问题。

如何确定有哪些存储引擎可用

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

你可以在MySQL(假设是MySQL服务器4.1.2以上版本)中使用显示引擎的命令得到一个可用引擎的列表。

mysql show engines;+------------+---------+----------------------------------------------------+| Engine | Support | Comment |+------------+---------+-----------------------------------------------------+| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance || HEAP | YES | Alias for MEMORY || MEMORY | YES | Hash based, stored in memory, useful for temporary tables || MERGE | YES | Collection of identical MyISAM tables || MRG_MYISAM | YES | Alias for MERGE || ISAM | NO | Obsolete storage engine, now replaced by MyISAM || MRG_ISAM | NO | Obsolete storage engine, now replaced by MERGE || InnoDB | YES | Supports transactions, row-level locking, and foreign keys || INNOBASE | YES | Alias for INNODB || BDB | NO | Supports transactions and page-level locking || BERKELEYDB | NO | Alias for BDB || NDBCLUSTER | NO | Clustered, fault-tolerant, memory-based tables || NDB | NO | Alias for NDBCLUSTER || EXAMPLE | NO | Example storage engine || ARCHIVE | NO | Archive storage engine || CSV | NO | CSV storage engine |+------------+---------+-------------------------------------------------------+  

16 rows in set (0.01 sec)   这个表格显示了可用的数据库引擎的全部名单以及在当前的数据库服务器中是否支持这些引擎。

对于MySQL 4.1.2以前版本,可以使用mysql show variables like "have_%"(显示类似“have_%”的变量):

mysql s
                        

来源:http://www.tulaoshi.com/n/20160129/1495030.html

延伸阅读
标签: MySQL mysql数据库
存储引擎是什么? MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存...
G一下后,解决如下: /var/lib/mysql目录下,删除ibdata1、ib_logfile1、 ib_logfile0,然后重启MySql让其重建以上文件: mysqladmin -uroot -p shutdown sudo mysqld_safe & 搞定! 下面是网络上的其它文章。大家也可以参考下。 早上起来,到PHP站点去看了下,准备测试下别人写的一个CMS系统,高兴的下载了程序,然后把程序拷贝到所在目录...
myisam_max_[extra]_sort_file_size足够大 delay_key_write减少io,提高写入性能 bulk_insert_buffer_size concurrent_insert 设置为2 read_rnd_buffer_size random scan 使用 read_buffer_size 顺序扫描表使用 key cache 的三种方式 key cache 预加载 SET GLOBAL hot_cache.key_buffer_size=16m SET BLOBAL cold_cache.key_bu...
MySQL数据库分二种类型,一种是传统的数据表格式,一种是支持事务处理的数据表格式(InnoDB,BDB,其中以InnoDB为主),下面我介绍一下关于MySQL事务处理数据库的安装及使用方法你先要去下载一下Mysql max版的安装程序,下载地址:www.mysql.com 按常规的方法进行安装 安装完成后,启动mysqlinWinMySQLadmin 再退出 运行 mysqlinmydqld-nt --re...
MySQL数据库分二种类型,一种是传统的数据表格式,一种是支持事务处理的数据表格式(InnoDB,BDB,其中以InnoDB为主),下面我介绍一下关于MySQL事务处理数据库的安装及使用方法 你先要去下载一下Mysql max版的安装程序,下载地址:www.mysql.com 按常规的方法进行安装 安装完成后,启动mysqlbinWinMySQLadmin 再退出 ...

经验教程

926

收藏

88
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部