[CLOUD_FIRESTORE] Long fetching time of data in local cache

Đang mở
#7,914 9 bình luận 1 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@dconeybe đang làm issue này rồi.

Từ ngày 16/3/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

api: firestore
[REQUIRED] Step 2: Describe your environment

Packages in Flutter project:

  • firebase_core: 4.4.0
  • cloud_firestore: 6.1.2 (corresponding to Firebase BoM 34.7.0)
[REQUIRED] Step 3: Describe the problem

We've noticed an issue with persistent storage in our Flutter project. Very similar to https://github.com/firebase/firebase-android-sdk/issues/7198#issuecomment-4045347626. It happens only on Android, I’m not able to reproduce it on iOS.
When we have a lot of cached data e.g. 5k records, then some specific queries need much more time to be executed e.g. 100ms vs 2s.

Here is an example of a query:

    final DateTime nowDateTime = DateTime.now();
    query = query
        .where('Dateandtime', isGreaterThanOrEqualTo: Timestamp.fromDate(nowDateTime))
        .where('Dateandtime',
            isLessThanOrEqualTo: Timestamp.fromDate(nowDateTime.add(const Duration(days: 7))));

Disabling persistence storage fixes the issue.
I also tried enabling automatic index creation and manually providing indexes, but I didn’t notice any significant difference.

Steps to reproduce:
  1. Fetch a list of items using Stream. It should return data very quickly.
  2. Persistence storage is enabled. Fetch ~5k random items.
  3. Execute the same query as in step 1. The execution time increases a lot.

Here is also a SQLite database with the state at which executing the above query takes ~2s instead of 200ms.
https://drive.google.com/file/d/1rP3hB6qSMjRqUshvmS7rMrNIhDJSXyqh/view?usp=sharing

cc: @dconeybe
If you won't be able to reproduce the issue let me know. I will try to help.

Ngôn ngữ chính
Java
Star
2.6k
Fork
733
Merge trung bình
2 ngày 15 giờ
Pull request đã merge (30 ngày)
72

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của firebase/firebase-android-sdk

Tất cả issue của firebase/firebase-android-sdk

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.