问题描述
关于MysqL / MariaDB分区,我是一个新手,还没有创建分区,但是正在阅读。我的第一个问题是,如果我根据dt_created DATETIME列按年然后按月对表进行分区,是否需要更改执行SQL查询的方式,以便在执行操作时开始看到性能提高dt_created的单日查询?或者,执行标准查询,例如:
SELECT * FROM web_tracking_events where dt_created >= '(some time goes here)'
做得好吗?
解决方法
基本上。您可以执行以下查询:
SELECT * FROM web_tracking_events where dt_created >= '(some time goes here)'
这称为修剪。参见https://dev.mysql.com/doc/refman/8.0/en/partitioning-pruning.html
但是,这意味着mysql将打开所有分区,以检查是否在此处找到匹配项。