mysql默认引擎怎么查 mysql 默认引擎( 三 )


页级锁定使用Berkeley DB引擎 并且根据上载的信息页( KB)锁定数据 当在数据库的很多地方进行更新的时候 这种锁定不会出现什么问题 但是 由于增加几行信息就要锁定数据结构的最后 KB 当需要增加大量的行 也别是大量的小型数据 就会带来问题
行级锁定提供了最佳的并行访问功能 一个表中只有一行数据被锁定 这就意味着很多应用程序能够更新同一个表中的不同行的数据 而不会引起锁定的问题 只有InnoDB存储引擎支持行级锁定
建立索引
建立索引在搜索和恢复数据库中的数据的时候能够显著提高性能 不同的存储引擎提供不同的制作索引的技术 有些技术也许会更适合你存储的数据类型
有些存储引擎根本就不支持索引 其原因可能是它们使用基本表索引(如MERGE引擎)或者是因为数据存储的方式不允许索引(例如FEDERATED或者BLACKHOLE引擎)
事务处理
事务处理功能通过提供在向表中更新和插入信息期间的可靠性 这种可靠性是通过如下方法实现的 它允许你更新表中的数据 但仅当应用的应用程序的所有相关操作完全完成后才接受你对表的更改 例如 在会计处理中每一笔会计分录处理将包括对借方科目和贷方科目数据的更改 你需要要使用事务处理功能保证对借方科目和贷方科目的数据更改都顺利完成 才接受所做的修改 如果任一项操作失败了 你都可以取消这个事务处理 这些修改就不存在了 如果这个事务处理过程完成了 我们可以通过允许这个修改来确认这个操作
lishixinzhi/Article/program/MySQL/201311/29301
Mysql数据库3种存储引擎有什么区别?Mysql数据库3种存储(MyISAM、MEMORY、InnoDB)引擎区别:
1、Myisam是Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam 。MEMORY、InnoDB不是默认存储引擎 。
2、InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全 。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引 。
Mysql数据库3种存储(MyISAM、MEMORY、InnoDB)区别对比:
1、MyISAM
它不支持事务 , 也不支持外键,尤其是访问速度快 , 对事务完整性没有要求或者以SELECT、INSERT为主的应用基本都可以使用这个引擎来创建表 。
数据文件和索引文件可以放置在不同的目录 , 平均分配IO,获取更快的速度 。要指定数据文件和索引文件的路径,需要在创建表的时候通过DATA DIRECTORY和INDEX DIRECTORY语句指定,文件路径需要使用绝对路径 。
2、MEMORY
memory使用存在内存中的内容来创建表 。每个MEMORY表实际对应一个磁盘文件 , 格式是.frm 。MEMORY类型的表访问非常快 , 因为它到数据是放在内存中的,并且默认使用HASH索引,但是一旦服务器关闭,表中的数据就会丢失 , 但表还会继续存在 。
默认情况下,memory数据表使用散列索引,利用这种索引进行“相等比较”非常快,但是对“范围比较”的速度就慢多了 。因此,散列索引值适合使用在"="和"="的操作符中,不适合使用在""或""操作符中,也同样不适合用在order by字句里 。如果确实要使用""或""或betwen操作符,可以使用btree索引来加快速度 。
存储在MEMORY数据表里的数据行使用的是长度不变的格式,因此加快处理速度,这意味着不能使用BLOB和TEXT这样的长度可变的数据类型 。VARCHAR是一种长度可变的类型,但因为它在MySQL内部当作长度固定不变的CHAR类型,所以可以使用 。
3、InnoDB
InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全 。但是对比MyISAM的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引 。

推荐阅读