请问是tidb否有逻辑表这样的概念

tidb是否可以定义一个逻辑表名,这个表名可以包括某些指定命名规则的表名,或者可以自定义添加哪些表属于这个逻辑表。
举个场景例子:
比如我有一个表,名字为tablename,这个表每天会插入1亿条数据,我每天定期会根据日期做切割,表命名为tablename_20240829,但我希望查询的时候,可以查询一个名字tablename_all(这个表包括了所有之前日期的表数据),
请问,是否有逻辑表这样的概念?
说明一下:不是tidb的视图概念

没这个,可以考虑使用分区表

“逻辑表”的概念貌似来自于数据库中间件

没有逻辑表功能

分区表可以不?

没有的,一般数据库都没有吧

es里面有索引模板

我是想按天切割表,将来我可以按天删除表。但删除不要影响我查询,我查询的时候,有可能是全量数据查询

如果用分区表,比如我可以用时间戳进行分区,但将来我删除的时候怎么自动化的删除某个分区?我还没有想到

可以考虑使用tidb的TTL(Time to Live)功能

1 个赞

TTL是TiDB中的一项重要功能,允许用户在表级别管理数据的生命周期。它的主要目的是自动删除过期的数据,从而节省存储空间并提高查询性能。

TTL的工作原理如下:

  1. 在创建或修改表时,用户可以为表设置TTL属性。
  2. TTL属性指定一个时间戳列和一个时间间隔。时间戳列用于计算数据的过期时间。
  3. TiDB会定期运行后台清理任务,检查并删除过期的数据。

TTL的配置方法:
使用CREATE TABLE语句创建带TTL属性的表:
CREATE TABLE t1 (
id INT PRIMARY KEY,
created_at TIMESTAMP
) TTL = created_at + INTERVAL 3 MONTH;

删除的时候可以删除分区啊,跟你删表一样啊

1 个赞

虽然你要的不是视图 ,不过我碰上类似的功能就是用视图做的。
日期切割的表,我同时有tiflash副本,在这些日期表放在一个视图里,基本上做的全是聚合统计之类的计算,从几亿条数据里面范围扫描几条的情况比较少。
就是视图+强制tiflash mpp这样做的。效果还是可以的。如果你在这个视图上做的也是聚合,而不是扫描,可以考虑一下我这个方法。

也就类似分区表了

不同的数据库有不同的说法,有点类似于分区表

时间分区。Tidb没有逻辑表的

逻辑表,就是视图吧

你说的场景描述感觉就是TiDB的分区表,但是你场景描述之前的又感觉像是视图。

那是不是在创建的时候就指定时间了?是否不能动态调整?

不是视图,视图我理解着是表的一部分字段。
我说的是某个表(逻辑表)包含其他的表(物理表)