Php 24小时后过期的SQL条目

Php 24小时后过期的SQL条目,php,mysql,html,Php,Mysql,Html,我想创建一个表,其中条目在插入PHP和MySQL后24小时过期 理想情况下,每次用户与我的服务器交互时,我都希望运行一个“删除进程”,删除旧条目。由于这是更频繁的,您应该知道它将不会有大量的数据删除,所以它应该只需要几毫秒 我为每个条目赋予了日期/时间附加值 我该怎么做呢?您可以研究使用Cron作业,当它符合您的要求时,让它每24小时运行一次 这会有帮助的 用户交互时不应执行删除过程。它会减慢速度,您应该使用cronjob(每分钟/小时) 您需要为添加的时间戳值编制索引,然后从添加的表中运行D

我想创建一个表,其中条目在插入PHP和MySQL后24小时过期

理想情况下,每次用户与我的服务器交互时,我都希望运行一个“删除进程”,删除旧条目。由于这是更频繁的,您应该知道它将不会有大量的数据删除,所以它应该只需要几毫秒

我为每个条目赋予了日期/时间附加值


我该怎么做呢?

您可以研究使用Cron作业,当它符合您的要求时,让它每24小时运行一次

这会有帮助的

  • 用户交互时不应执行删除过程。它会减慢速度,您应该使用cronjob(每分钟/小时)
  • 您需要为添加的时间戳值编制索引,然后从添加的表中运行
    DELETE
  • 也许您想要签出,这将表划分为不同的表,但它的行为就像一个表。优点是不需要删除条目,每天都有单独的表
  • 我认为你认为太多的数据会减慢表格的速度。也许您应该使用
    EXPLAIN
    ()并使用索引()优化SELECT查询
  • 更新检查-这是另一种值得一看的方法
  • 您可以使用MySQL的:

    • 要在这些记录过期时自动删除它们,请执行以下操作:

      CREATE EVENT delete\u expired\u 101
      按计划在当前时间戳+间隔24小时内完成
      从my_表中删除,其中id=101;
      
    • 要定期自动清除所有过期记录,请执行以下操作:

      CREATE EVENT delete\u all\u过期
      按计划每小时做一次
      从my_表中删除到期

    每次用户与我的服务器交互时,您的意思是什么?请查看此(重复)问题的答案:您不清楚哪一部分?PHP?SQL?带有DELETE语句。。。hemi意味着每次用户运行特定查询时,它都会删除所有超过24小时的条目,然后运行特定查询。我宁愿这样做,也不愿使用事件调度器。我希望它是在php中完成的。如果需要精确的24小时精度,您还需要限制表上的查询。但在国际海事组织,这是最好的办法。如果还没有,这个表可能最适合InnoDB引擎。哇!我甚至都没问这个问题,而你却提出了一些全新的想法!非常感谢!我必须告诉MySQL“每X小时”的具体数量,即使我只是想要每小时。例如,每1小时按计划执行一次