我是新来的分区。不知道它是否存在,但是当我试图在数据库的表格中使我们新的'url_hash'
列独一无二时才意识到。并得到了错误信息:散列(行ID +年)分区是如何工作的?
唯一索引必须包括表的分区函数的所有列
这是由其他人创建的数据库,我不知道,谁不参与该项目了。
我试图读取mysql文档并阅读关于分区的论坛。它是什么以及它是如何工作的。理解目的,将表格分成几个“部分”,以便检索相关数据变得更快。一个常见的例子是划分为几年的时间间隔。但大多数例子都显示了手动方法。例如,你决定例如少于三年的特定年份。例如:
PARTITION BY RANGE (YEAR(separated)) (
PARTITION p0 VALUES LESS THAN (1991),
PARTITION p1 VALUES LESS THAN (1996),
PARTITION p2 VALUES LESS THAN (2001),
PARTITION p3 VALUES LESS THAN MAXVALUE
);
但在我们的表,分区创建这样:
PARTITION BY HASH (`feeditemsID` + YEAR(`feeddate`))
PARTITIONS 3;
这是什么意思?我们的分区是如何工作的?
feeditemsID
是我们表格中每一行的唯一ID。
是您了解如何散列分区作品的问题,或有关如何解决你的错误? – Barmar
好吧,两者。我想通过了解这种分区是如何工作的,我可能能够避免错误。我想知道解决方案的工作原理。 –