どーも、ぐるたか@guru_takaです。
Flutterでアプリ開発中。データベースはFirestoreを使用しています。そこで、Firestoreの読み取り頻度が気になったので調査しました。
その結果をまとめていきます。
Firebaseの初期設定は完了していること前提で進めていきます。まだの方は以下の記事を参考にしてみてください!
検証方法
リスト一覧にテキストフィールドを追加・削除・編集できる機能でFirestoreの使用状況を試してみます!
リスト一覧のデータはFirestoreから取得します。型はStream
で、StreamBuilder
でビルド。簡単にまとめると、Firestoreのデータが変わったら、自動でリスト一覧が更新される感じです。
クライアント1つ(スマホ1台)で試します。検証方法は3つ!
- 新しいデータをFirestoreに3つ追加
- Firestoreのデータを3つ削除
- 新しいデータを追加。その後にデータをアップデート
最初の読み取り、書き込み、削除の数は以下の通りです。
読み取り | 227 |
書き込み | 82 |
削除 | 86 |
新しいデータをFirestoreに3つ追加
検証GIFです。
結果はこちら!
読み取り | 230(+3) |
書き込み | 85(+3) |
削除 | 86 |
結果
データをFirestoerに3回登録しているので、書き込み数が+3されました。
書き込み数も+3されているのは、Firestoreでデータが更新され、Flutter側から読み取りに行っているの気がします。
ドキュメント数が複数(今回であれば、”テスト”達)あっても、読み取りは1度で済んでいたのも確認できました。
Firestoreのデータを3つ削除
検証GIFです。
結果はこちら!
読み取り | 230 |
書き込み | 85 |
削除 | 89(+3) |
結果
Firestoerのデータを3回削除しているので、削除数が+3されました。
ビックリしたのは、読み取り数が+3されず、何も変わっていない点です!
Firestore側まで読み取らず、そのまま削除されるんですかね…?意外でした。
運用面で余計な読み取りがないので、ありがたい話です!
新しいデータをFirebaseに1つ追加。その後、データをアップデート
検証GIFです。
結果はこちら!
読み取り | 232(+2) |
書き込み | 87(+2) |
削除 | 89 |
結果
Firestoerのデータを1回登録+1回更新しているので、書き込み数は+2されました。
それに合わせて、読み取り数も+2されています。
更新する度に、読み取り数が+1されるのが確認できました!
まとめ
- Firestoreのデータ登録 → 書き込みと読み取りの数:+1
- Firestoreのデータ削除 → 削除の数:+1
- Firestoreのデータ更新 → 書き込みと読み取りの数:+1
コメントを残す