ブログ
Notionが遅い理由(とその対策)

もしあなたのNotionのワークスペースが遅くなっていると感じているなら、それは気のせいではありません。2024年の調査では、大規模なデータセットを管理しているNotionユーザーの65%が、データベースの操作において顕著な速度低下を経験していることが分かりました。この問題は構造的なものです。Notionの柔軟なブロックベースのアーキテクチャは、その適応性の高さの理由でもあるのですが、ワークスペースが成長するにつれてパフォーマンス上の足枷となってしまいます。
速度低下は通常、データベースが数千行を超えたとき、ページに複数のインラインデータベースが含まれているとき、あるいはリレーションやロールアップによってページが読み込まれるたびにNotionが解決しなければならない計算チェーンが発生したときに始まります。あるオペレーションマネージャーは、3,500ページのデータベースをアクティブな300ページとアーカイブの3,200ページに分割したところ、CRMの読み込み時間が15秒から2秒に短縮されたと報告しています。この改善は本物ですが、基本的な使いやすさを実現するために手動での再構築が必要であるという事実は、基盤となるアーキテクチャについて何かを物語っています。
遅延の原因
大規模なデータベース。 Notionのデータベースは10,000行あたりからパフォーマンスの問題を示し始めます。各エントリが持つプロパティ(列)が多いほど、速度低下は早く始まります。5,000行で30プロパティを持つデータベースは動作が重く感じられますが、同じ10プロパティのデータベースであれば問題なく動作します。
リレーションとロールアップ。 これらはNotionの中で最も計算負荷の高い機能です。ページを開くたびに、Notionはリレーションのリンクをたどり、ロールアップの数式を計算し、結果を表示します。50のプロパティと500のページがあり、その多くにリレーションやロールアップが含まれているデータベースは、読み込み時間を劇的に増加させる計算チェーンを作り出します。循環リレーション(データベースAがデータベースBに関連し、Bが再びAに関連する)は、読み込み時間を300%以上増加させることがあります。
アクセスの多いページ上のインラインデータベース。 複数のインラインデータベースを持つダッシュボードページは、ページを開いたときに各データベースが同時に読み込まれるため、特に遅くなります。Notion自身のヘルプドキュメントでもこのパターンは推奨されておらず、代わりに一度に1つのデータベースのみを読み込むリンクされたビューを推奨しています。
ギャラリーおよびタイムラインビュー。 パフォーマンスの観点から見ると、すべてのデータベースビューが同じというわけではありません。テーブルビューが最も高速です。ギャラリービューはすべての画像を読み込むため最も遅くなります。タイムラインビューとボードビューはその中間に位置します。大規模なデータベースでギャラリービューを使用すると、パフォーマンスの問題がさらに悪化します。
深いページの階層構造。 Notionはツリー構造をたどる必要があるため、数レベル深くネストされたページは読み込みに時間がかかります。フラットなワークスペース構造の方が読み込みが早くなります。
できる対策
これらの回避策は役立ちますが、いずれもアーキテクチャが自分のために機能してくれるというよりは、アーキテクチャの都合に合わせてこちらが工夫を凝らすものばかりです。
積極的にアーカイブする。 完了したアイテムや非アクティブなアイテムは、別のアーカイブデータベースに移動します。アクティブなデータベースは小さく保ちます。アーカイブされたアイテムを時々参照する必要がある場合は、リンクされたビューを使用します。
リレーションとロールアップを減らす。 リレーションやロールアップがアクティブに使用されていない場合は、削除してください。その列を見ていなくても、それぞれが計算のオーバーヘッドを追加します。循環リレーションは完全に避けてください。
インラインデータベースの代わりにリンクされたビューを使用する。 ダッシュボードページに3つのデータベースを埋め込む代わりに、異なるソースデータベースを切り替えられる1つのリンクされたビューを作成します。これにより、一度に1つのデータベースのみが読み込まれるようになります。
テーブルビューを優先する。 ビジュアル的な表現よりもパフォーマンスが重要な場合は、テーブルビューの方がギャラリー、ボード、またはタイムラインビューよりも大幅に速く読み込まれます。
ページの階層をフラットにする。 可能な限りネストの深さを減らします。3レベルの深さのページは、7レベルの深さのページよりも速く読み込まれます。
大規模なデータベースを分割する。 すべてを1つのマスターデータベースにまとめるのではなく、リレーションで接続された、目的に特化した小さなデータベースを作成します。データ全体の量が同じであっても、個々のデータベースの読み込みは速くなります。
回避策だけでは限界が来るとき
こうした回避策自体が余計な負担になるポイントがあります。本来の仕事をするためにツールを使うのではなく、データベースの再構築やアーカイブの管理、ビューの最適化、ツールの使い方の制限に時間を費やすようになってしまいます。システムを維持することがシステムによって節約される時間よりも多く消費されてしまう「メタ生産性」の問題は、構造の維持に加えてパフォーマンスの最適化まで求められるようになると、いよいよ深刻化します。
この段階に達した場合、問題はどうやってNotionを速くするかではありません。これほどの配慮を必要とするツールが、自分のナレッジにとって本当に適切なアーキテクチャなのかということです。
Fabricは、大規模なライブラリをネイティブに処理できる異なるアーキテクチャで構築されています。セマンティック検索は、パフォーマンスを低下させることなく数千のドキュメントにわたって機能します。スマート整理機能により、Notionで必要とされる手動のデータベース構築が不要になります。さらに、Notionからのインポート機能があるため、これまでに構築したものを失うこともありません。
選択は現在の状況によって異なります。Notionのワークスペースが小さく、上記の回避策で十分であれば、試してみる価値はあります。もし、実際の仕事をする時間よりもNotionのパフォーマンス最適化に有意義な時間を費やしているなら、アーキテクチャそのものに問題があるのかもしれません。
よくある質問
Notionはパフォーマンスの問題を解決してくれますか? Notionはデータベースのパフォーマンスを段階的に改善しており、最近のアップデートにより一部のシナリオでは改善が見られます。しかし、根本的なアーキテクチャ(すべてのページがブロックのツリーであり、すべてのデータベースビューで全プロパティの計算が必要)による固有のスケーリング制限があり、段階的な改善では部分的にしか対処できません。
Notionはどれくらいのデータ量で遅くなり始めますか? その基準は、行数だけでなく、データベースの複雑さ(プロパティ数、リレーション、ロールアップ、数式)によって異なります。プロパティが少ないシンプルなデータベースであれば、数万行を処理できます。多くのリレーションやロールアップを持つ複雑なデータベースは、数千行あたりから問題が発生し始めます。
パフォーマンスの問題はデスクトップアプリ特有のものですか? Webアプリとデスクトップアプリはどちらも同じクラウドベースのレンダリングに依存しているため、パフォーマンス特性は同様です。モバイルアプリはデバイスの制約により、一般的にさらに遅くなります。
関連記事: あなたのNotionワークスペースはセカンドジョブ(副業)になっている、 人々がNotionを離れる理由、 Notionの検索機能が機能しない理由。 関連ページ: Fabric と Notion の比較、 Notionとの連携、 最高のNotion代替ツール。
その他のブログ記事:

The Creative's Cold Start Problem

How to Stop Losing Momentum Between Study Sessions

Your Future Self Can't Read Your Mind

The Hemingway Bridge: Stop Working So You Can Start Again

Your ERP Has the Answers. Nobody Can Find Them.

The Usability Layer Your Business Systems Are Missing

手書きノート対デジタルノート:どちらか一方を選ぶ必要はありません

手書きのメモが検索できない理由(とその対策)