我想用一个名为“column_value”的列来划分我的表,比如说“mytable”。这个列是一个包含很多值的整数。我想有3个分区:p1,其中column_value为433; p2,其中column_value为21;以及p3,其中所有其他值都位于其中。我该如何做到这一点?我可以在分区定义中使用函数吗?我可以在没有函数的情况下做到这一点吗?非常感谢。我试着在mysql和其他网站的文档中搜索类似的东西,但是我没有找到任何解决方案。
yhived7q1#
如果可以添加生成的列,那么列表分区也可以
DROP TABLE IF EXISTS T; CREATE TABLE T(ID INT,VAL INT,LID INT AS (CASE WHEN ID = 21 THEN ID WHEN ID = 433 THEN ID ELSE 999 END) ) PARTITION BY LIST(LID) ( PARTITION P438 VALUES IN(433), PARTITION P21 VALUES IN(21), PARTITION PREST VALUES IN(999) );
https://dbfiddle.uk/lquwhdnP
1条答案
按热度按时间yhived7q1#
如果可以添加生成的列,那么列表分区也可以
https://dbfiddle.uk/lquwhdnP