mysql - 拥有可以访问的存档的最佳方式
问题描述
我有一个需要每年归档的数据库。去年的数据有时需要在明年使用,所以我有一个可以有 3 个值的列年份(0 - 来自今年,1 - 从去年开始使用,2 - 保存但未使用)。数据库如下:
Table1
id,year ...
Table2
id,id_table1 ...
Table3
id,id_table2 ...
Table4
id,id_table3 ...
这些是需要归档的表table1.year = 2
。归档数据也需要可访问,并且需要至少回溯 2 年。每年的行数约为:Table1 - 50 行;表 2 - 250(表 1 x5);表 3 - 2500(表 2 x 10);表 4 - 5000(表 3 x 2);
我查看了分区,但不知道如何将这四个分组,以便它们都可以移动到单独的分区。
解决方案
PARTITIONing
除非您有超过一百万行,否则不要打扰。
一个有 8000 行的表是“小”的;将它们全部放在一个表中。如果已经有DATE
orDATETIME
列,您甚至不需要额外的列来指示“年份”。而且你不需要id_table2
(等)。
如果您想进一步讨论,请提供SHOW CREATE TABLE
一些疑问。
推荐阅读
- linux - 自定义 linux 系统上的 Wi-Fi U 盘似乎工作正常,但外界看不到
- linux - 尽管文件在那里,Git 无法在远程找到文件
- php - 如何上传文件,使用 php 中的 dropzone 将文件详细信息保存到 mysql 数据库
- c# - 使用水晶报表 C# WPF 列出报表
- laravel - Laravel 5.7:同步现有数据透视字段时的 Updated_at 列
- airflow - Airflow Google 身份验证无法按预期工作
- android - 如何从textview字符串制作按钮
- protractor - 无法使用 mocha-allure 访问全局“allure”对象
- javascript - Vue 路由器 afterEach 守卫在加载完成之前执行
- amazon-s3 - 谷歌云平台到 S3/Redshift