分区划分请教咨询

【 TiDB 使用环境】Poc
【 TiDB 版本】6.1.3
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】


问题说明:不同的股票有不同的记录数,想要通过划分分区 使得数据可以均匀的入库,有些code有20多条记录。而有的股票只有1条记录、

有尝试使用 Range 分区,但是报错了…请教像这种情况使用那种分区类型分区比较合适。sql语法是。

code.xlsx (42.0 KB)

mysql要求主键必须包含分区键。

分区的好处是删除的时候按分区删会比较容易,还有就是冷热数据的分离。

如果没有这两块的需求,不如不要分区。tidb本来就是按照region分片的,会自动调度。

https://docs.pingcap.com/zh/tidb/stable/high-concurrency-best-practices#tidb-高并发写入场景最佳实践

如果是关于高并发写入的优化,看上面这个最佳实践。

评估下数据量,几亿这个量级就别用分区了

大佬,请教一下,如果查询的数据在一个region是不是比分布在多个region速度更快呀

分布在多个region快,如果读取集中在一个region上,是读取热点。可能是需要优化的。

https://docs.pingcap.com/zh/tidb/stable/troubleshoot-hot-spot-issues

https://docs.pingcap.com/zh/tidb/stable/dev-guide-use-follower-read#优化读热点

1 个赞

学习了

这个是表设计逻辑问题吧。你把一个varchar类型的字段,拿去转换成时间,然后又把时间拿去跟一个varchar类型字段做比较,肯定会报错了