SQL entries that expire after 24 hours

前端 未结 3 1522
不思量自难忘°
不思量自难忘° 2021-01-03 06:31

I want to make a table where the entries expire 24 hours after they have been inserted in PHP and MySQL.

Ideally I want to run a \"deleting process\" every time a us

3条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-01-03 07:15

    1. you shouldn't do a delete process when a user interacts. it slows down things, you should use a cronjob (every minute / hour)
    2. you'll want to index the added timestamp value and then run DELETE FROM table WHERE added < FROM_UNIXTIME(UNIX_TIMESTAMP()-24*60*60)
    3. maybe you'll want to checkout Partitions, which divide the table into different tables, but it behaves as one table. The advantage is that you don't need to delete the entries and you'll have seperate tables for each day.
    4. i think that YOU think that much data slows down tables. Maybe you should use EXPLAIN (MySQL Manual) and optimize your SELECT queries using indexes (MySQL Manual)
    5. UPDATE Check out eggyal's answer - This is another approach worth taking a look.

提交回复
热议问题