Cloud-SQL-支持存储引擎内存吗?
Cloud-SQL-Storage Engine memory supported?
GoogleCloudSQL 常见问题解答指出
For MySQL Second Generation instances, InnoDB is the only storage engine supported
我的实验表明 engine=memory
是可能的,至少对于临时表而言。
CREATE TEMPORARY TABLE mt (c CHAR(20)) ENGINE=memory;
Query OK, 0 rows affected
SHOW CREATE TABLE mt;
+---------+----------------+
| Table | Create Table |
|---------+----------------|
| mt | CREATE TEMPORARY TABLE `mt` (
`c` char(20) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8 |
+---------+----------------+
1 row in set
Time: 0.022s
INSERT INTO mt (c) VALUES ('waaa' );
Query OK, 1 row affected
Time: 0.017s
SELECT * FROM mt;
+------+
| c |
|------|
| waaa |
+------+
1 row in set
Time: 0.019s
这是否可用但不受支持? google 可以在不通知的情况下禁用它吗?这是否只是因为消息是应该使用 innodb 而不是 myisam 而被排除在 FAQ 之外?
感谢您的宝贵时间。
尽管可以使用 MEMORY 表创建表(仅限临时表),但 Google Cloud 不支持它,因为它不提供与 InnoDB 引擎相同的一致性,并且可能容易出错。
此外,在第二代 MySQL 较新的 Cloud SQL 实例中,使用 InnoDB 以外的任何存储引擎都会导致错误,例如:
ERROR 3161 (HY000): Storage engine MEMORY is disabled (Table creation is disallowed)
截至目前,对于使用第 2 代 MySQL 的云 SQL 个实例,唯一支持的存储引擎是 InnoDB。如果您可以在您的实例上使用 MEMORY 引擎,则意味着它是旧版本。由于不支持 MEMORY 引擎,Google 可能会禁用此功能,恕不另行通知,如您所评论。
我的建议是,虽然现在您可以在云 SQL 实例中使用 MEMORY 引擎作为临时表,但请坚持使用 InnoDB 引擎,因为它是 [=22= 唯一支持的引擎].提到 MyISAM 的同一消息也适用于其他存储引擎。
GoogleCloudSQL 常见问题解答指出
For MySQL Second Generation instances, InnoDB is the only storage engine supported
我的实验表明 engine=memory
是可能的,至少对于临时表而言。
CREATE TEMPORARY TABLE mt (c CHAR(20)) ENGINE=memory;
Query OK, 0 rows affected
SHOW CREATE TABLE mt;
+---------+----------------+
| Table | Create Table |
|---------+----------------|
| mt | CREATE TEMPORARY TABLE `mt` (
`c` char(20) DEFAULT NULL
) ENGINE=MEMORY DEFAULT CHARSET=utf8 |
+---------+----------------+
1 row in set
Time: 0.022s
INSERT INTO mt (c) VALUES ('waaa' );
Query OK, 1 row affected
Time: 0.017s
SELECT * FROM mt;
+------+
| c |
|------|
| waaa |
+------+
1 row in set
Time: 0.019s
这是否可用但不受支持? google 可以在不通知的情况下禁用它吗?这是否只是因为消息是应该使用 innodb 而不是 myisam 而被排除在 FAQ 之外?
感谢您的宝贵时间。
尽管可以使用 MEMORY 表创建表(仅限临时表),但 Google Cloud 不支持它,因为它不提供与 InnoDB 引擎相同的一致性,并且可能容易出错。
此外,在第二代 MySQL 较新的 Cloud SQL 实例中,使用 InnoDB 以外的任何存储引擎都会导致错误,例如:
ERROR 3161 (HY000): Storage engine MEMORY is disabled (Table creation is disallowed)
截至目前,对于使用第 2 代 MySQL 的云 SQL 个实例,唯一支持的存储引擎是 InnoDB。如果您可以在您的实例上使用 MEMORY 引擎,则意味着它是旧版本。由于不支持 MEMORY 引擎,Google 可能会禁用此功能,恕不另行通知,如您所评论。
我的建议是,虽然现在您可以在云 SQL 实例中使用 MEMORY 引擎作为临时表,但请坚持使用 InnoDB 引擎,因为它是 [=22= 唯一支持的引擎].提到 MyISAM 的同一消息也适用于其他存储引擎。