search

Home  >  Q&A  >  body text

php - 如何每天自动优化mysql指定表

现在用的程序是php+mysql,linux服务器,有没有什么办法可以每天在固定时间进行一次mysql表的优化,

需要自动优化的原有主要是因为搜索的用户太多了,造成搜索缓存太多,占用空间

迷茫迷茫2779 days ago586

reply all(3)I'll reply

  • 迷茫

    迷茫2017-04-11 10:09:04

    要想定时的花,mysql有自带的定时事件EVENT;
    例子:每天凌晨0点定时执行存储过程p_optimize_table

    CREATE EVENT `optimize_table_event` ON SCHEDULE EVERY 1 DAY STARTS '2017-03-06 00:00:00' ON COMPLETION NOT PRESERVE ENABLE COMMENT '自动优化表' DO CALL p_optimize_table()
    

    这只是一个定时事件,通过调用存储过程p_optimize_table,你要做的优化表工作就在这个存储过程里做。
    话说,
    因为搜索太多,缓存太多,所以优化表?OPTIMIZE TABLE?
    好奇你要怎么优化。

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-11 10:09:04

    谢邀!

    如果仅仅只是定时的话Linux的cron服务就可以了,还是说你的搜索都放到sql里面每次搜索都是查库或者临时缓存?要做什么方面的优化呢

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 10:09:04

    MySQL定时任务清理啊

    reply
    0
  • Cancelreply