当前位置:   article > 正文

【MySQL精通之路】存储引擎-配置

【MySQL精通之路】存储引擎-配置

1.配置

创建新表时,可以通过在CREATE TABLE语句中添加ENGINE表选项来指定要使用的存储引擎

  1. -- ENGINE=INNODB not needed unless you have set a different
  2. -- default storage engine.
  3. CREATE TABLE t1 (i INT) ENGINE = INNODB;
  4. -- Simple table definitions can be switched from one to another.
  5. CREATE TABLE t2 (i INT) ENGINE = CSV;
  6. CREATE TABLE t3 (i INT) ENGINE = MEMORY;

如果省略ENGINE选项,则使用默认存储引擎。默认引擎是MySQL 8.0中的InnoDB

您可以使用--default-storage-engine指定默认引擎,也可以在my.cnf配置文件中设置默认存储引擎选项。

您可以通过设置default_storage_engine变量从当前会话设置默认存储引擎

SET default_storage_engine=NDBCLUSTER;

通过在启动或运行时设置default_tmp_storage_engine,可以将使用CREATE TEMPORARY TABLE创建的临时表的存储引擎永久表的引擎分开设置。

若要将表从一个存储引擎转换为另一个,请使用指示新引擎的ALTER TABLE语句:

ALTER TABLE t ENGINE = InnoDB;

请参阅“CREATE TABLE语句”和“ALTER TABLE语句”。

如果您尝试使用不匹配。或匹配但是停用的存储引擎,MySQL将使用默认存储引擎创建一个表。

例如,在主从复制中,也许源服务器使用InnoDB表是为了最大限度地提高安全性,但副本服务器使用其他存储引擎是为了提高速度,而牺牲了持久性或并发性。

默认情况下,只要CREATE TABLEALTER TABLE无法使用默认存储引擎,就会生成警告。若要防止在所需引擎不可用时出现混乱、意外的行为,请启用NO_ENGINE_SUBSTITUTION SQL模式。如果所需的引擎不可用,此设置将产生错误而不是警告,并且不会创建或更改表。

请参阅“Server SQL模式”。

【MySQL精通之路】MySQL8.0-SQL模式-CSDN博客

MySQL可以将表的索引和数据存储在一个或多个其他文件中,具体取决于存储引擎

表和列定义存储在MySQL数据字典中。

请参阅“数据字典”。

【MySQL精通之路】MySQL8.0官方文档-数据字典-CSDN博客

单个存储引擎会为其管理的表创建所需的任何其他文件。如果表名包含特殊字符,则表文件的名称包含这些字符的编码版本。

如“标识符到文件名的映射”所述。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号