データベースのパフォーマンス対策として手軽にできる対策を施してみる #Notion
Notion公式リファレンスにて、データベースの読み込み時間とパフォーマンスの最適化という項目が公開されました。
データベースのレコードが増えてくると対処しておきたい要素ですが、ユーザ側は当のデータベース運用をしているわけではないこともあって「表示されればよいか」と考えがちです。
ですが、読み込み時間が長くなってくると、レコードの並び替えが発生した際にも都度長い読み込みが発生するため、編集に掛かる時間にも影響が出てきます。
今回は手軽にできる範囲でのパフォーマンス対策について記載しました。
ページ内のデータベースを分ける
公式リファレンスではビューの参照を行っていますが、その前の手続きであるページ内からのデータベース分離について触れておきます。
必要に応じて移動先ページを作成した後、データベースのメニューから「別ページへ移動」を選択します。メニュー選択時に移動先ページの作成は出来ません。
表示されるポップアップメニュー内から移動先を選択します。選択すると即移動します。間違えた場合は表示されるポップアップから「元に戻す」を選択します。
なお、プライベートスペースに移動させようとしていた場合は警告が表示されます。
フィルタで読み込みを減らす
方法は色々ありますが、個人的なおすすめは特定日付プロパティに対して相対日時で日時分量を指定するものです。軸は現日時を元に行うため、経過しても間隔は維持されます。
特定の日付プロパティがない場合には作成日時での指定でも構いませんが、定期的に複数のレコードを作成する機会がある場合は、データベースに読み込みが発生する可能性を考慮しましょう。
なお、フィルタによってレコードの読み込み数が2桁を切る辺りになったとしても、読み込みを一切なくすことはできないようです。
あとがき
Notionのデータベースはレコードが増えづらいとパフォーマンスに気を配る機会も発生しにくいものですが、データベースのリレーションにてロールアップ先を関数プロパティが利用している場合はやや事情が変わってきます。
先ずは今回の手軽なチューニングを試し、その上で関数プロパティについても確認をするとよいかもしれません。