MySQL 存储引擎

网友投稿 748 2022-08-27

MySQL 存储引擎

MySQL 存储引擎

环境:  5.6.17 MySQL Community Server (GPL) MySql中的数据信息通过不同的技术存储在文件或者内存中,这些不同的技术被称之为存储引擎。 选择不同的存储引擎可以达到不同的服务效果。

查询MySql支持的存储引擎:

mysql> show variables like 'have%';+----------------------+----------+| Variable_name | Value |+----------------------+----------+| have_compress | YES || have_crypt | NO || have_csv | YES || have_dynamic_loading | YES || have_geometry | YES || have_innodb | YES || have_ndbcluster | NO || have_openssl | DISABLED || have_partitioning | YES || have_profiling | YES || have_query_cache | YES || have_rtree_keys | YES || have_ssl | DISABLED || have_symlink | YES |+----------------------+----------+14 rows in set (0.05 sec)mysql> show Engines\g+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| Engine | Support | Comment | Transactions | XA | Savepoints |+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL || MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO || MyISAM | YES | MyISAM storage engine | NO | NO | NO || BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO || CSV | YES | CSV storage engine | NO | NO | NO || MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO || ARCHIVE | YES | Archive storage engine | NO | NO | NO || InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES || PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+9 rows in set (0.00 sec)

我们得到这样的信息: InnoDB 是默认的存储引擎

InnoDB 存储引擎在这些方面能体现优势:更新密集的表;事务管理;崩溃修复

缺点:读写效率稍差。

MyIsam 存储引擎曾经是MySql默认的存储引擎。有三种存储格式:静态型,动态型,压缩型。

静态:表的列的大小都是静态的。不用varchar等数据类型

动态:节省空间,但是性能下降。可使用optimize table语句整理碎片

它的优点:占用空间小,速度快。

它的缺点:不支持事务的完整性和并发性

Memory存储引擎:

默认为hash索引,数据存储在内存中,使用它的表的生命周期短,几乎都是一次性的。

也正因为在内存中,速度快,性能提高了,但是不适于长期存储的数据。

存储引擎创建表:inno_db

查看文件后缀名。

使用Memory存储引擎创建表:

表文件:

使用MyISAM存储引擎:

表文件:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:斐波那契之通项公式
下一篇:大神说Scala是个有趣的语言 你值得拥有
相关文章

 发表评论

暂时没有评论,来抢沙发吧~