繁体   English   中英

分区MySql 5.5出错

[英]Error a Partition MySql 5.5

我正在尝试在下面创建分区方案,但是,它显示错误。

MySQL数据库错误:您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'(my_date),month(my_date)附近使用正确的语法(PARTITION p0 VALUES比(2010,1)更少,PARTITION p1'在第2行)

这是最好的方法吗? 我的桌子是10k

 ALTER TABLE my_table
PARTITION by LIST COLUMNS (year(my_date), month(my_date))(
    PARTITION p0   VALUES LESS THAN (2010, 1),
PARTITION p1   VALUES LESS THAN (2010, 2),
PARTITION p2   VALUES LESS THAN (2010, 3),
PARTITION p3   VALUES LESS THAN (2010, 4),
PARTITION p4   VALUES LESS THAN (2010, 5),
PARTITION p5   VALUES LESS THAN (2010, 6),
PARTITION p6   VALUES LESS THAN (2010, 7),
PARTITION p7   VALUES LESS THAN (2010, 8),
PARTITION p8   VALUES LESS THAN (2010, 9),
PARTITION p9   VALUES LESS THAN (2010, 10),
PARTITION p10  VALUES LESS THAN (2010, 11),
PARTITION p11  VALUES LESS THAN (2010, 12),
PARTITION p12  VALUES LESS THAN (2011, 1),
PARTITION p13  VALUES LESS THAN (2011, 2),
PARTITION p14  VALUES LESS THAN (2011, 3),
PARTITION p15  VALUES LESS THAN (2011, 4),
PARTITION p16  VALUES LESS THAN (2011, 5),
PARTITION p17  VALUES LESS THAN (2011, 6),
PARTITION p18  VALUES LESS THAN (2011, 7),
PARTITION p19  VALUES LESS THAN (2011, 8),
PARTITION p20  VALUES LESS THAN (2011, 9),
PARTITION p21  VALUES LESS THAN (2011, 10),
PARTITION p22  VALUES LESS THAN (2011, 11),
PARTITION p23  VALUES LESS THAN (2011, 12),
PARTITION p24  VALUES LESS THAN (2013, 1),
PARTITION p25  VALUES LESS THAN (2013, 2),
PARTITION p26  VALUES LESS THAN (2013, 3),
PARTITION p27  VALUES LESS THAN (2013, 4),
PARTITION p28  VALUES LESS THAN (2013, 5),
PARTITION p29  VALUES LESS THAN (2013, 6),
PARTITION p30  VALUES LESS THAN (2013, 7),
PARTITION p31  VALUES LESS THAN (2013, 8),
PARTITION p32  VALUES LESS THAN (2013, 9),
PARTITION p33  VALUES LESS THAN (2013, 10),
PARTITION p34  VALUES LESS THAN (2013, 11),
PARTITION p35  VALUES LESS THAN (2013, 12),
PARTITION p36  VALUES LESS THAN (2014, 1),
PARTITION p37  VALUES LESS THAN (2014, 2),
PARTITION p38  VALUES LESS THAN (2014, 3),
PARTITION p39  VALUES LESS THAN (2014, 4),
PARTITION p40  VALUES LESS THAN (2014, 5),
PARTITION p41  VALUES LESS THAN (2014, 6),
PARTITION p42  VALUES LESS THAN (2014, 7),
PARTITION p43  VALUES LESS THAN (2014, 8),
PARTITION p44  VALUES LESS THAN (2014, 9),
PARTITION p45  VALUES LESS THAN (2014, 10),
PARTITION p46  VALUES LESS THAN (2014, 11),
PARTITION p47  VALUES LESS THAN (2014, 12), 
PARTITION p48  VALUES LESS THAN (2015, 1),
PARTITION p49  VALUES LESS THAN (2015, 2),
PARTITION p50  VALUES LESS THAN (2015, 3),
PARTITION p51  VALUES LESS THAN (2015, 4),
PARTITION p52  VALUES LESS THAN (2015, 5),
PARTITION p53  VALUES LESS THAN (2015, 6),
PARTITION p54  VALUES LESS THAN (2015, 7),
PARTITION p55  VALUES LESS THAN (2015, 8),
PARTITION p56  VALUES LESS THAN (2015, 9),
PARTITION p57  VALUES LESS THAN (2015, 10),
PARTITION p58  VALUES LESS THAN (2015, 11),
PARTITION p59  VALUES LESS THAN (2015, 12),
PARTITION p60  VALUES LESS THAN (2016, 1),
PARTITION p61  VALUES LESS THAN (2016, 2),
PARTITION p62  VALUES LESS THAN (2016, 3),
PARTITION p63  VALUES LESS THAN (2016, 4),
PARTITION p64  VALUES LESS THAN (2016, 5),
PARTITION p65  VALUES LESS THAN (2016, 6),
PARTITION p66  VALUES LESS THAN (2016, 7),
PARTITION p67  VALUES LESS THAN (2016, 8),
PARTITION p68  VALUES LESS THAN (2016, 9),
PARTITION p69  VALUES LESS THAN (2016, 10),
PARTITION p70  VALUES LESS THAN (2016, 11),
PARTITION p71  VALUES LESS THAN (2016, 12),
PARTITION p72  VALUES LESS THAN (2017, 1),
PARTITION p73  VALUES LESS THAN (2017, 2),
PARTITION p74  VALUES LESS THAN (2017, 3),
PARTITION p75  VALUES LESS THAN (2017, 4),
PARTITION p76  VALUES LESS THAN (2017, 5),
PARTITION p77  VALUES LESS THAN (2017, 6),
PARTITION p78  VALUES LESS THAN (2017, 7),
PARTITION p79  VALUES LESS THAN (2017, 8),
PARTITION p80  VALUES LESS THAN (2017, 9),
PARTITION p81  VALUES LESS THAN (2017, 10),
PARTITION p82  VALUES LESS THAN (2017, 11),
PARTITION p83  VALUES LESS THAN (2017, 12),
PARTITION p84  VALUES LESS THAN (2018, 1),
PARTITION p85  VALUES LESS THAN (2018, 2),
PARTITION p86  VALUES LESS THAN (2018, 3),
PARTITION p87  VALUES LESS THAN (2018, 4),
PARTITION p88  VALUES LESS THAN (2018, 5),
PARTITION p89  VALUES LESS THAN (2018, 6),
PARTITION p90  VALUES LESS THAN (2018, 7),
PARTITION p91  VALUES LESS THAN (2018, 8),
PARTITION p92  VALUES LESS THAN (2018, 9),
PARTITION p93  VALUES LESS THAN (2018, 10),
PARTITION p94  VALUES LESS THAN (2018, 11),
PARTITION p95  VALUES LESS THAN (2018, 12),
PARTITION p96  VALUES LESS THAN (2019, 1),
PARTITION p97  VALUES LESS THAN (2019, 2),
PARTITION p98  VALUES LESS THAN (2019, 3),
PARTITION p99  VALUES LESS THAN (2019, 4),
PARTITION p100 VALUES LESS THAN (2019, 5),
PARTITION p101 VALUES LESS THAN (2019, 6),
PARTITION p102 VALUES LESS THAN (2019, 7),
PARTITION p103 VALUES LESS THAN (2019, 8),
PARTITION p104 VALUES LESS THAN (2019, 9),
PARTITION p105 VALUES LESS THAN (2019, 10),
PARTITION p106 VALUES LESS THAN (2019, 11),
PARTITION p107 VALUES LESS THAN (2019, 12),
PARTITION p108 VALUES LESS THAN (2020, 1),
PARTITION p109 VALUES LESS THAN (2020, 2),
PARTITION p110 VALUES LESS THAN (2020, 3),
PARTITION p111 VALUES LESS THAN (2020, 4),
PARTITION p112 VALUES LESS THAN (2020, 5),
PARTITION p113 VALUES LESS THAN (2020, 6),
PARTITION p114 VALUES LESS THAN (2020, 7),
PARTITION p115 VALUES LESS THAN (2020, 8),
PARTITION p116 VALUES LESS THAN (2020, 9),
PARTITION p117 VALUES LESS THAN (2020, 10),
PARTITION p118 VALUES LESS THAN (2020, 11),
PARTITION p119 VALUES LESS THAN (2020, 12),
PARTITION p120 VALUES LESS THAN (2021, 1),
PARTITION p121 VALUES LESS THAN (2021, 2),
PARTITION p122 VALUES LESS THAN (2021, 3),
PARTITION p123 VALUES LESS THAN (2021, 4),
PARTITION p124 VALUES LESS THAN (2021, 5),
PARTITION p125 VALUES LESS THAN (2021, 6),
PARTITION p126 VALUES LESS THAN (2021, 7),
PARTITION p127 VALUES LESS THAN (2021, 8),
PARTITION p128 VALUES LESS THAN (2021, 9),
PARTITION p129 VALUES LESS THAN (2021, 10),
PARTITION p130 VALUES LESS THAN (2021, 11),
PARTITION p131 VALUES LESS THAN (2021, 12),
PARTITION p132 VALUES LESS THAN (2022, 1),
PARTITION p133 VALUES LESS THAN (2022, 2),
PARTITION p134 VALUES LESS THAN (2022, 3),
PARTITION p135 VALUES LESS THAN (2022, 4),
PARTITION p136 VALUES LESS THAN (2022, 5),
PARTITION p137 VALUES LESS THAN (2022, 6),
PARTITION p138 VALUES LESS THAN (2022, 7),
PARTITION p139 VALUES LESS THAN (2022, 8),
PARTITION p140 VALUES LESS THAN (2022, 9),
PARTITION p141 VALUES LESS THAN (2022, 10),
PARTITION p142 VALUES LESS THAN (2022, 11),
PARTITION p143 VALUES LESS THAN (2022, 12),
PARTITION p144 VALUES LESS THAN (2023, 1),
PARTITION p145 VALUES LESS THAN (2023, 2),
PARTITION p146 VALUES LESS THAN (2023, 3),
PARTITION p147 VALUES LESS THAN (2023, 4),
PARTITION p148 VALUES LESS THAN (2023, 5),
PARTITION p149 VALUES LESS THAN (2023, 6),
PARTITION p150 VALUES LESS THAN (2023, 7),
PARTITION p151 VALUES LESS THAN (2023, 8),
PARTITION p152 VALUES LESS THAN (2023, 9),
PARTITION p153 VALUES LESS THAN (2023, 10),
PARTITION p154 VALUES LESS THAN (2023, 11),
PARTITION p155 VALUES LESS THAN (2023, 12),
PARTITION p156 VALUES LESS THAN (2024, 1),
PARTITION p157 VALUES LESS THAN (2024, 2),
PARTITION p158 VALUES LESS THAN (2024, 3),
PARTITION p159 VALUES LESS THAN (2024, 4),
PARTITION p160 VALUES LESS THAN (2024, 5),
PARTITION p161 VALUES LESS THAN (2024, 6),
PARTITION p162 VALUES LESS THAN (2024, 7),
PARTITION p163 VALUES LESS THAN (2024, 8),
PARTITION p164 VALUES LESS THAN (2024, 9),
PARTITION p165 VALUES LESS THAN (2024, 10),
PARTITION p166 VALUES LESS THAN (2024, 11),
PARTITION p167 VALUES LESS THAN (2024, 12),
PARTITION p168 VALUES LESS THAN (2025, 1),
PARTITION p169 VALUES LESS THAN (2025, 2),
PARTITION p170 VALUES LESS THAN (2025, 3),
PARTITION p171 VALUES LESS THAN (2025, 4),
PARTITION p172 VALUES LESS THAN (2025, 5),
PARTITION p173 VALUES LESS THAN (2025, 6),
PARTITION p174 VALUES LESS THAN (2025, 7),
PARTITION p175 VALUES LESS THAN (2025, 8),
PARTITION p176 VALUES LESS THAN (2025, 9),
PARTITION p177 VALUES LESS THAN (2025, 10),
PARTITION p178 VALUES LESS THAN (2025, 11),
PARTITION p179 VALUES LESS THAN (2025, 12),
PARTITION p180 VALUES LESS THAN (MAXVALUE, MAXVALUE)    
);

你是混合范围和列表分区。

如果你必须对这个表进行分区,你可能想尝试这样的东西, 使用EXTRACT()函数

 PARTITION by RANGE (EXTRACT(YEAR_MONTH FROM my_date))
    PARTITION p0   VALUES LESS THAN (201001),
    PARTITION p1   VALUES LESS THAN (201002),
    PARTITION p2   VALUES LESS THAN (201003),
    ...

但想一想。 采用分区既有人员成本又有性能成本。

  • 人员成本:当您的系统投入生产时,通常需要在数年内添加分区。
  • 性能成本:查询有时候运行起来很慢,因为它们必须查看多个分区,这需要IO周期。 这种性能问题会让你回到......
  • 员工成本:您必须弄清楚发生什么事情会减慢您的申请速度。

它可能是颈部疼痛。

当表大小变大(即至少数千万行)时,分区通常最有用。 你的约10K行的表是(尊重)被认为是一个小表。 MySQL和其他RDMS系统可以毫无困难地处理数百万行的表。

找出分区的工作原理并没有什么害处。 但是你的桌子太小了,无法帮助你进行制作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM