相干MySQL(笔记)

相干MySQL(笔记)

有关MySQL(笔记)

1.什么是MySQL

 MySQL是一个小型关系型数据库管理系统,开发者为瑞典

MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,

许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL官方网站:http://www.mysql.com

2.MySQL历史

1979年,报表工具,数据引擎

1996年,MySQL 1.0 (3.11.1)发布,支持SQL

2000年,成立MySQL AB公司

2008年1月,Sun公司以10亿美元收购MySQL AB公司

2009年4月,Oracle公司以74亿美元收购Sun公司

3.MySQL里程碑

3.11.1 First public release

3.23 集成BerkeleyDB,支持事务,抽象出Storag Engine

4.1 重大改进,子查询、unicode、c/s通信协议

5.0 stored procedure、view、triggers、query optimizer

5.1 FileNDB、recordreplication

4.MyISAM vs InnoDB

MyISAM特点:

数据存储方式简单,使用B+ Tree进行索引

使用三个文件定义一个表:..MYI .MYD .frm

少碎片、支持大文件、能够进行索引压缩

二进制层次的文件可以移植(Linux->Windows)

访问速度飞快,是所有MySQL文件引擎中速度最快的

不支持一些数据库特性,比如事务、外键约束等

Table level lock,性能稍差,更适合读取多的操作

表数据容量有限,一般建议单表数据量介于50w–200w

增删查改以后要使用myisamchk检查优化表

InnoDB特点:

使用Table Space的方式来进行数据存储(ibdata1, ib_logfile0)

支持事务、外键约束等数据库特性

Rows level lock ,读写性能都非常优秀

能够承载大数据量的存储和访问

拥有自己独立的缓冲池,能够缓存数据和索引

在关闭自动提交的情况下,与MyISAM引擎速度差异不大

在MySQL 5.0里面,MyISAM和InnoDB存储引擎性能差别并不是

很大,针对InnoDB来说,影响性能的主要是innodb_flush_log_at_trx_commit

这个选项,如果设置为1的话,那么每次插入数据的时候都会自动提交,导致性能急剧下降,应该是跟刷新日志有

关系,设置为0效率能够看到明显提升,当然,同样你可以SQL中提交

“SET AUTOCOMMIT = 0”来设置达到好的性能。同时也可以看出值得使用InnoDB来替代MyISAM

引擎来进行开发,毕竟InnoDB有多数据库特性、更良好的数据存储性能和查询性能

相干MySQL(笔记)

相关文章:

你感兴趣的文章:

标签云: