Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in
M
mfang2.0
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 92
    • Issues 92
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • 魔方Web开发组
  • mfang2.0
  • Issues
  • #465

Closed
Open
Opened Oct 27, 2022 by 宋永裕@songyongyu💬
  • Report abuse
  • New issue
Report abuse New issue

[Feat] 数据库碎片整理

魔方后端数据操作的一些现象

  1. 当移除配置时,django后端是对记录进行了物理删除
  2. 配置文件的更新,都是先删除原有记录,然后插入新记录
  3. 这些删除的操作,会使数据表产生碎片,影响检索性能

应对策略

定期对有“物理删除”操作的数据表进行碎片整理,方法是利用MySQL的事件功能

CREATE EVENT remove_expired_evt
ON SCHEDULE EVERY 15 DAY
STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 HOUR)
ON COMPLETION PRESERVE
ENABLE
DO call remove_expired()
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
2
Labels
已跟进 测试中
Assign labels
  • View project labels
Reference: fmsh-web-develop/mfang2.0#465