MySQL存储引擎
存储引擎是MySQL数据库管理系统的一个重要特征,在具体开发时,为了提高MySQL数据库管理系统的使用效率和灵活性,可以按照实际需要选择存储引擎。因为存储引擎制定了表的类型,即如何存储和索引数据、是否支持事务等,同时存储引擎也决定了表在计算机的存储方式。
- 查看MySQL支持的存储引擎.(\G的作用可以使用命令help查看)
show engines \G
输出:
*************************** 1. row ***************************
Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
Transactions: NULL
XA: NULL
Savepoints: NULL
*************************** 2. row ***************************
Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 3. row ***************************
Engine: MyISAM
Support: YES
Comment: MyISAM storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 4. row ***************************
Engine: BLACKHOLE
Support: YES
Comment: /dev/null storage engine (anything you write to it disappears)
Transactions: NO
XA: NO
Savepoints: NO
*************************** 5. row ***************************
Engine: CSV
Support: YES
Comment: CSV storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 6. row ***************************
Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
XA: NO
Savepoints: NO
*************************** 7. row ***************************
Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
Transactions: NO
XA: NO
Savepoints: NO
*************************** 8. row ***************************
Engine: InnoDB
Support: DEFAULT
Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
XA: YES
Savepoints: YES
*************************** 9. row ***************************
Engine: PERFORMANCE_SCHEMA
Support: YES
Comment: Performance Schema
Transactions: NO
XA: NO
Savepoints: NO
9 rows in set (0.00 sec)
support: MySQL是否支持存储引擎,YES表示支持,NO表示不支持,Default表示默认使用的存储引擎.
Comment: 注释
Transactions: 是否支持事务
XA: 是否支持分布式
Savepoints: 是否支持save point的事务点操作. - 查看默认引擎的另外一种方式.
show variables like 'storage_engine%'
- 修改默认存储引擎
修改my.ini配置文件
# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
- 常用引擎场景推荐
- MyISAM存储引擎:由于该存储引擎不支持事务,不支持外键,访问速度比较快。因此对事物完整性没有要求并且以访问速度为主的应该使用此种引擎。
- InnoDB存储引擎:由于该存储引擎,类似传统的数据库,支持事务、并发,占用磁盘空间比较大。
- MEMORY存储引擎:这个属于内存数据库,速度快但是没有保障。如果数据量小并且访问速度要求比较苛刻的话,可以选择使用。
Note:所支持的数据类型可以使用help contents; help data types; help data_type_name来查看