ページ・データベースが重い時の対応方法
Notion でデータベースを作って運用を重ねていくうちに、いつの間にか重くなっていったような経験はありませんでしょうか?今回の記事ではそんなデータベースが快適に扱えるよう、重い問題への対処法を解説していきます。
この記事でわかること
- データベースが重くなる原因
- 重くなってしまったデータベースを軽くする方法
データベースが重くなる原因
まず、データベースのページ数と重さは直接的な因果関係がありません。しかし、「表示している」ページ数が多い場合は表示プロパティ数が増えることにより、重くなります。
表示プロパティ数・表示ページ数が膨大
ページ数×プロパティ数の掛け算でプロパティを表示する箇所が増えるため、一つ一つのプロパティはそれほど重くない場合でも、大量のページ・プロパティを表示している場合に重くなることがあります。
複雑な処理の数式プロパティ
重い計算をさせる数式プロパティを表示している場合、パフォーマンスの低下に大きく影響を与えます。
特に filter() や map() などの配列を扱う関数を使用する場合、他データベースへの参照が多い場合など、 配列の項目が増えるとその分計算コストが大きくなりやすいです。
他にも、重い計算を行っている数式をさらに参照する数式が複数ある場合などは、より計算に時間がかかります。
重い数式プロパティを非表示にしている場合でも、フィルターや並び替えで参照している場合は計算が行われるため、重くなります。
データベースを軽くする対処方法
表示プロパティを減らす
用途に合わせて必要のないプロパティを非表示にすることができます。
特に重い数式プロパティが必要ないビューではできるだけ表示しない方がいいでしょう。
プロパティがあまりにも多いデータベースは設計が誤っているかもしれません。
20~30個以上のプロパティがある場合は不要なプロパティを見つけるなど、整理することをおすすめします。
ページの表示件数を減らす(リンクドビューの使用)
リンクドビューの場合、読み込むページ数を制限することができます。
ページ数を制限することでプロパティを表示する箇所が減るため、その分軽くすることができます。
メニューアイコン からビューのオプションを開き、「読み込み制限」から何ページ表示するかを選択できます。
数式・ロールアップでの複雑な参照を避ける
重い計算をさせる数式プロパティはできるだけ避けましょう。重いプロパティを他のプロパティから参照するのも極力避けると重くなりにくいです。
特に、数式内でリレーション先のリレーション情報などを取得している場合、ボタンやオートメーションを活用して直接リレーションを貼ると劇的に軽くなることがあります。
複雑な計算やリレーション先の参照ができ、工夫次第で様々なことができるのが Notion の数式の魅力ではありますが、最適化しつつバランスを取っていきましょう…!
シンプルなプロパティでフィルター
セレクト、マルチセレクト、ステータス、数値、日付などのシンプルなプロパティに基づいたフィルターを追加することで、重い数式でフィルター条件を設定している場合でも、計算処理されるページ数が減り、速度に改善がみられるようです。
作成日時プロパティでフィルターすることで、古いページを表示させなくする等がおすすめです。
データベースが重い問題についての YouTube 動画も投稿しています。興味のある方はこちらも合わせてご覧ください。