【发布时间】:2018-11-20 17:19:36
【问题描述】:
引用MariaDB Galera Cluster - Known Limitations
所有表都应该有一个主键(多列主键是 支持的)。不支持 DELETE 操作的表不支持 首要的关键。此外,没有主键的表中的行可能会出现在 不同节点上的不同顺序。
Galera 要求每个表都应该有一个 PK,或者至少有一个索引。这种限制主要是因为复制(wsrep 插件)。
我们运行一个 Galera/MariaDB 集群,我看到客户的 DATABASECHANGELOG 没有索引和 PK。我猜这个表是只追加的(没有更新或删除操作)
我不知道 Liquibase,这就是为什么我在这里询问缺少索引和/或 PK 的原因。我应该打开一个错误报告还是我不理解这个用例?
+----------------------------------------------------------------------------------------+------------+------------+-------------+---------------------+-----------------------+
| schema | table_rows | non_unique | cardinality | medium distribution | replication row reads |
+----------------------------------------------------------------------------------------+------------+------------+-------------+---------------------+-----------------------+
(...)
| xxx.DATABASECHANGELOG | 571 | NULL | NULL | 571.0000 | 326041.0000 |
| xxxx.DATABASECHANGELOG | 491 | NULL | NULL | 491.0000 | 241081.0000 |
| xxxxx.DATABASECHANGELOG | 433 | NULL | NULL | 433.0000 | 187489.0000 |
+----------------------------------------------------------------------------------------+------------+------------+-------------+---------------------+-----------------------+
【问题讨论】: