gpt4 book ai didi

MySQL - 哈希分区不起作用

转载 作者:行者123 更新时间:2023-11-29 23:15:20 25 4
gpt4 key购买 nike

我正在使用MySQL 5.6服务器。我已经创建了一个带有HASH分区的表,但我无法在查询中使用特定分区。

表结构

CREATE TABLE `testtable` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`purchased` DATE DEFAULT NULL,
KEY `ìd` (`id`),
KEY `Purchased` (`purchased`)
) ENGINE=INNODB
/*!50100 PARTITION BY RANGE ( YEAR(purchased))
SUBPARTITION BY HASH ( dayofyear(purchased))
SUBPARTITIONS 366
(PARTITION p0 VALUES LESS THAN (2015) ENGINE = InnoDB,
PARTITION p1 VALUES LESS THAN (2016) ENGINE = InnoDB) */

我的查询

EXPLAIN PARTITIONS
SELECT *
FROM testtable
WHERE purchased BETWEEN '2014-12-29' AND '2014-12-31';

检查SQL FIDDLE页面

我的解释计划告诉我服务器正在使用所有分区而不是特定分区。

如何编写查询以便服务器扫描特定分区?并且还想知道我当前的查询有什么问题以及为什么它不起作用?

提前致谢...

最佳答案

确实。 HASH分区本质上是没有用的。

其他注意事项...

超过 50 个分区会导致一定的效率低下。

如果您要清除“旧”行,请考虑按范围并在每个分区中保留一个月。然后通过 DROP PARTITION 进行清除。更多详细信息,包括示例代码:http://mysql.rjweb.org/doc.php/partitionmaint

关于MySQL - 哈希分区不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27863383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com