当它是复合键的一部分时,根据列值进行删除


12345
2024-11-15 06:53:16 (4月前)


我有一张有id和日期的桌子。 (id,date)组成表的复合键。

我要做的是删除所有早于特定日期的条目。

从my_table中删除…

3 条回复
  1. 0# 啊这回彻底死了 | 2019-08-31 10-32



    如果您的用例涉及每月或某段时间的数据存档,您可以考虑更新DataBase表以使用分区。

    1. <BR/>



    假设您按月收集数据,并希望保留过去5个月的数据。基于一年中的月份在表上创建分区将非常有效。

    1. <BR/>



    这将,




    • 优化您的READ查询(表扫描将减少到分区扫描)


    • 优化DELETE请求(只需删除完整的分区)


  2. 1# Fire ming | 2019-08-31 10-32



    你需要一个索引

    date

    对于此查询:




    1. create index idx_mytable_date on mytable(date);

    2. </code>


    或者,您可以删除现有索引并添加新索引

    (date, id)



    date

    需要成为此查询的第一个键。


登录 后才能参与评论