Accessのテーブル分割
  • (2022-07-04 09:18:41)
肥大化したデータベースのスリム化。

2017年に投稿したAccessデータベースの分割方法の続編。


新旧の2データベース体制


重いテーブルは限られている。しかも、古いデータは滅多に使われないのでテーブル単体自体を分割する。

(1) 現在のdbを「バックアップdb」として保存する

(2) 現行の「最新db」テーブルから3年以上の古いデータを削除する。

通常の業務は、「最新db」を使い回し、希に必要となる古いデータを調べる際は「バックアップdb」にて行う。


初回テーブル分割


●テーブル分割、初回2017年に実施 (2014/12/31で分割)

(1)「最新db」を「バックアップdb」として保存

(2)「最新db」から2014/12/31以前の古いデータを削除

※2014/12/31で分割するが、厳密には、日付データでソートせず、管理番号などキーフィールドでソートして削除を行う。日付と管理番号によるソート結果はほぼ同一だが、微妙に違うことがある。長年、データベースを運営していると意味不明のデータは紛れ込むことがある


二回目のテーブル分割


●テーブル分割、二回目2022年に実施 (2018/12/31で分割)

(1) 「バックアップdb」のテーブルを「最新db」に戻す


※「バックアップdb」のテーブルを「最新db」に戻す方法
・「バックアップdb」のクエリから「追加クエリ」で、追加先に「最新db」の同じテーブルを指定する(重複キーがあるとその分エラーとなるので、古いレコードは移行されない)

・「バックアップdb」クエリ → 新規作成 → デザインビュー → 分割したいテーブルを選択
→ 「*」で全フィールド選択 → クエリ → 追加
→ 追加先に「最新db」のテーブル指定 → 実行「!」

※「追加クエリ」でなく、インポートで戻すと最新のテーブルデータも上書きされるので、必ず"追クエリ"で戻すこと


(2) フルデータに戻った「最新db」の2018/12/31以前のデータに対して、「初回テーブル分割2017年」と同じ作業を行う。



<< Win10 検索窓に出現したイラストのうっとしいこと< | >ガラケーからスマホ移行のトラブル記録 >>
search
layout
admin

[▲page top]