MySQL之存储引擎
一、存储引擎概述及查看方法
数据库是存储数据库对象的容器,是指长期存储在计算机内、有组织和可共享的数据的集合,只是其存储方式有特定的规律。存储引擎实际上就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据。 因为在关系数据库中数据是以表的形式存储的,所以,存储引擎也可以称为表类型。MySQL中的数据用不同的技术存储在文件(或者内存)中,每一种技术都使用不同的存储机制、索引技巧、锁定水平,并且最终提供广泛的、不同的功能和能力,选择不同的技术可以获得额外的速度或者功能,从而改善应用的整体功能。这些不同的技术配套的相关功能在MySQL中被称作存储引擎(或者表类型)。
Oracle和SQLserver等数据库中只有一种存储引擎,所有数据库管理机制都是一样的,但是MySQL提供了多种存储引擎,并且还提供了插件式(Pluggable)的存储引擎。 同一个数据库中不同的表可以使用不同的存储引擎,同一个数据库表在不同的场合可以使用不同的存储引擎。MySQL常用的存储引擎有InnoDB存储引擎和MyISAM存储引擎。
可用show engines
命令或者show variables like 'have%'
命令查看当前MySQL数据库支持的存储引擎。可以用分号‘;’结尾,或者用‘\g’和’\G’结尾。(;和\g作用是一样的,\G是为了查询结果美观)
Engine表示数据库存储引擎的名称;Support表示MySQL是否支持该类型存储引擎,YES表示支持,NO表示不支持,DEFAULT表示当前数据库默认使用的存储引擎;Comment表示对该存储引擎的解释说明;XA表示是否满足分布式交易处理的XA规范,YES表示支持,NO表