MySQL database engines
2010-03-23 18:37
375 查看
MyISAM
优点:速度快,磁盘空间占用少;某个库或表的磁盘占用情况既可以通过操作系统查相应的文件(夹)的大小得知,也可以通过SQL语句SHOW TABLE STATUS查得
缺点:没有数据完整性机制,即不支持事务和外键
InnoDB
优点:支持事务和外键,数据完整性机制比较完备;可以用SHOW TABLE STATUS查得某个库或表的磁盘占用
缺点:速度超慢,磁盘空间占用多;所有库都存于一个(通常情况)或数个文件中,无法通过操作系统了解某个库或表的占用空间
BDB
优点:支持事务,不支持外键,由于在事务支持的基础上,外键可以在数据库的客户端(可能是最终客户的服务器端,例如php)间接实现,所以数据完整性仍然是有保障的;
缺点:速度慢,磁盘占用多;不能通过SHOW TABLE STATUS查询某个库或表的空间占用;用操作系统可了解库相应的文件夹,或表相应的文件的大小,但由于BDB表总是还要产生log文件,而实际的磁盘占用应该把log文件也包含在内,所以用操作系统查得某库或表的大小总是小于实际占用空间。
优点:速度快,磁盘空间占用少;某个库或表的磁盘占用情况既可以通过操作系统查相应的文件(夹)的大小得知,也可以通过SQL语句SHOW TABLE STATUS查得
缺点:没有数据完整性机制,即不支持事务和外键
InnoDB
优点:支持事务和外键,数据完整性机制比较完备;可以用SHOW TABLE STATUS查得某个库或表的磁盘占用
缺点:速度超慢,磁盘空间占用多;所有库都存于一个(通常情况)或数个文件中,无法通过操作系统了解某个库或表的占用空间
BDB
优点:支持事务,不支持外键,由于在事务支持的基础上,外键可以在数据库的客户端(可能是最终客户的服务器端,例如php)间接实现,所以数据完整性仍然是有保障的;
缺点:速度慢,磁盘占用多;不能通过SHOW TABLE STATUS查询某个库或表的空间占用;用操作系统可了解库相应的文件夹,或表相应的文件的大小,但由于BDB表总是还要产生log文件,而实际的磁盘占用应该把log文件也包含在内,所以用操作系统查得某库或表的大小总是小于实际占用空间。
相关文章推荐
- Mysql初次启动修改root账户密码的方法(解决Access denied for user ''@'localhost' to database 'mysql的方法)
- MySQL Database on Azure - 利用PowerShell快速创建使用数据库服务
- mysql解决Access denied for user ''@'localhost' to database 'mysql'没有mysql库
- MyEclipse中配置MyEclipse Database Explorer 方法(以mysql 数据库为例)
- 如何将mysql的database移出或备份
- mysql create database 指定utf-8编码
- ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
- Qt5.4下连接Mysql,QSqlDatabase: QMYSQL driver not loaded but available,qsqldatabaseqmysql
- MySQL command to show list of databases on server
- 手把手教你mysql(二)Database操作
- MAGENTO安装提示错误Database server does not support the InnoDB storage engine - 让Magento1.7.0.2支持Mysql5.6
- 如何将 MySQL 数据库转移到 SQL Server 与 Azure SQL Database
- ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
- How to Baskup and Restore a MySQL database
- Installing and Configuring a MySQL Database
- mysql cannot connect to database server
- Mysql - 解决Access denied for user ''@'localhost' to database 'mysql'问题
- create mysql database
- linux Mysql - 解决Access denied for user ''@'localhost' to database 'mysql'问题
- 遇到错误ERROR 1044 (42000): Access denied for user ''@'localhost'to database 'mysql',的解决办法