《PolarDB-X开源分布式数据库实战进阶》——PolarDB-X的TTL表的使用和原理(4) https://developer.aliyun.com/article/1228582?groupCode=polardbforpg
稍等一会继续执行show schedule result指令,此时显示已经为success状态,并且结果任务的开始时间与结束时间,remark:expire处显示的为被删除的时间分区。
查看当前分区,显示只剩下16个分区,而原先为27个分区,其中最老的分区将在2022-12-01过期。
通过drop指令将定时任务删除。
上图指令可以将TTL表变为普通表。执行完后,该表不再按照时间分区进行物理表划分。
通过上图命令可以将该表重新变为TTL表。
原先的物理表是单表,使用TTL表之后,所有物理表变为了分区表,是否会对性能有所损害?
经过测试发现,使用TTL表相比于相同的表结构但不做TTL划分,RT略有上升,QPS略有下降,但是差距很小,约为97:100左右。物理分区数量越多,性能会下降越多,但是整体(特别是点查场景)不会有太大差别。
如果是全表扫描,QPS平均会下降20%左右。但如果是范围查询,在特定场景下,得益于物理表的分区裁剪,性能可能会有所上升。
总之,不管是TTL表按照物理分区划分,或是不使用 TTL 表的物理单表,性能不会存在太大差别。