cari

Rumah  >  Soal Jawab  >  teks badan

firestore: Adakah lebih cepat untuk mendapatkan semula dokumen melalui id atau dengan pertanyaan?

Koleksi dokumen saya mempunyai id (sudah tentu), tetapi juga mempunyai medan yang memegang id yang sama. Soalan: Adakah lebih cepat untuk mendapatkan semula dokumen ini dengan id

collection.doc(id).get().then(....)

atau melalui pertanyaan

collection.where('id', '==', id).get().then(...)

Saya baru sahaja memfaktorkan semula kod fungsi saya. Saya pernah menggunakan pertanyaan, tetapi sekarang saya terus menggunakan id dokumen dalam koleksi. Tetapi tanggapan saya ialah pendekatan langsung ini mengambil masa yang lebih lama. Saya hanya tertanya-tanya adakah ini hanya kesan...

P粉291886842P粉291886842466 hari yang lalu447

membalas semua(1)saya akan balas

  • P粉232409069

    P粉2324090692023-09-15 00:02:17

    Secara teorinya, tiada perbezaan prestasi antara keduanya. Skala pertanyaan Firestore dengan bilangan dokumen yang dikembalikan oleh pertanyaan. Jika kedua-dua pertanyaan mengembalikan 1 dokumen, maka mereka harus melakukan operasi yang sama. Mereka pada asasnya menggunakan indeks untuk mencari nilai unik.

    Lihat: Skala pertanyaan dengan saiz set hasil, bukan saiz set data

    Jika anda benar-benar ingin menanda aras mikro ini, anda harus melakukan ujian anda sendiri untuk mengetahui yang mana lebih pantas. Tetapi saya fikir anda akan menghabiskan banyak masa untuk mengoptimumkan sesuatu yang tidak perlu dioptimumkan. Anda boleh memutuskan sendiri sama ada ini berbaloi dengan masa anda.

    Nasihat pendapat saya: anda harus bimbang tentang kejelasan kod, bukan prestasi. Yang manakah lebih masuk akal kepada anda apabila anda membacanya dalam konteks program? Secara amnya, satu pengambilan rujukan dokumen adalah lebih pendek dan lebih mudah dibaca, dan tidak perlu melihat set hasil dokumen apabila anda hanya menjangkakan satu dokumen, tetapi pendapat anda mungkin berbeza-beza.

    balas
    0
  • Batalbalas