第一章 MySQL体系
2016-06-24 11:31
246 查看
MySQL是单进程多线程架构。
MySQL组成:
连接池组件;
管理服务好热工具组件;
SQL接口组件;
查询分子器组件;
优化器组件;
缓冲组件;
插件式存储引擎;
物理文件。
存储引擎是基于表的,不是基于数据库。
1、Innodb存储引擎:(默认的存储引擎)
面向在线事务处理(OLTP),支持事务、行锁设计,外键,默认读操作不会加锁。InnoDB存储引擎将数据放在一个逻辑的表空间中,每个InnoDB的表单独存到一个独立的ibd文件中。InnoDB存储引擎采用聚集的方式存储表中的数据,每张表的存储按主键的顺序存放,若没有主键,InnoDB为每一行生成一个6字节的ROWID作为主键。
2、MyISAM:
面向在线分析处理(OLAP),不支持事务、表锁设计,支持全文索引。MyISAM缓存池缓存索引不缓存数据文件。
以下复制于MySQL参考手册:
下述存储引擎是最常用的:
· MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
· InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
· BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
· Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
· Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。
· Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
· Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
· Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
· Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。
请记住,对于整个服务器或方案,你并不一定要使用相同的存储引擎,你可以为方案中的每个表使用不同的存储引擎,这点很重要。
MySQL组成:
连接池组件;
管理服务好热工具组件;
SQL接口组件;
查询分子器组件;
优化器组件;
缓冲组件;
插件式存储引擎;
物理文件。
存储引擎是基于表的,不是基于数据库。
1、Innodb存储引擎:(默认的存储引擎)
面向在线事务处理(OLTP),支持事务、行锁设计,外键,默认读操作不会加锁。InnoDB存储引擎将数据放在一个逻辑的表空间中,每个InnoDB的表单独存到一个独立的ibd文件中。InnoDB存储引擎采用聚集的方式存储表中的数据,每张表的存储按主键的顺序存放,若没有主键,InnoDB为每一行生成一个6字节的ROWID作为主键。
2、MyISAM:
面向在线分析处理(OLAP),不支持事务、表锁设计,支持全文索引。MyISAM缓存池缓存索引不缓存数据文件。
以下复制于MySQL参考手册:
下述存储引擎是最常用的:
· MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
· InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
· BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
· Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
· Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。
· Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
· Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
· Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
· Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。
请记住,对于整个服务器或方案,你并不一定要使用相同的存储引擎,你可以为方案中的每个表使用不同的存储引擎,这点很重要。
相关文章推荐
- mysql 分数排名,更新表
- mysql修改root密码
- /var/lib/mysql/mysql.sock错误的解决办法
- mysql使用GROUP BY分组实现取前N条记录的方法
- /var/lib/mysql/mysql.sock错误的解决办法
- MySQL使用详解--根据个人学习总结
- MySQL5.7重置ROOT密码测试可行的办法
- Mysql5.7安装及配置
- 解决MySQL Error (2013): Lost connection to MySQL server at waiting for initial communication packet
- mysql忘记密码怎么办
- mysql 时间类型选择
- mysql 主从复制配置
- Mac安装MySQL
- activemq配置mysql
- Mysql5.7安装及配置
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- Mysql用户以及权限
- Mysql操作小结
- MySQL使用详解--根据个人学习总结
- MySQL参考手册