MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB, kinerja kueri dengan ekspresi reguler pada bidang yang diindeks

Sebenarnya menurut dokumentasi,

Jika ada indeks untuk bidang tersebut, maka MongoDB mencocokkan ekspresi reguler dengan nilai dalam indeks, yang bisa lebih cepat daripada pemindaian koleksi. Optimalisasi lebih lanjut dapat terjadi jika ekspresi reguler adalah "ekspresi awalan", yang berarti bahwa semua potensi pencocokan dimulai dengan string yang sama. Hal ini memungkinkan MongoDB untuk membuat "rentang" dari awalan itu dan hanya cocok dengan nilai-nilai dari indeks yang termasuk dalam rentang itu.

http://docs.mongodb.org/manual/reference/operator/query/regex/#index-use

Dengan kata lain:

Untuk /Jon Skeet/ regex ,mongo akan memindai penuh kunci dalam indeks kemudian akan mengambil dokumen yang cocok, yang bisa lebih cepat daripada pemindaian koleksi.

Untuk /^Jon Skeet/ regex ,mongo hanya akan memindai rentang yang dimulai dengan regex dalam indeks, yang akan lebih cepat.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Temukan semua dokumen dalam n hari terakhir

  2. Model.find() mengembalikan kosong di luwak

  3. Periksa bahwa Bidang Ada dengan MongoDB

  4. 2 Cara Membatasi Dokumen yang Dikembalikan di MongoDB

  5. Lacak kinerja MongoDB?