Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Saat Neptunus melakukan optimasi kueri, tepi dua arah menyulitkan untuk membuat rencana kueri yang optimal. Rencana sub-optimal mengharuskan mesin melakukan pekerjaan yang tidak perlu dan menghasilkan kinerja yang lebih buruk.
Oleh karena itu, gunakan tepi yang diarahkan daripada yang dua arah bila memungkinkan. Misalnya, gunakan:
MATCH p=(:airport {code: 'ANC'})-[:route]->(d) RETURN p)
bukannya:
MATCH p=(:airport {code: 'ANC'})-[:route]-(d) RETURN p)
Sebagian besar model data sebenarnya tidak perlu melintasi tepi di kedua arah, sehingga kueri dapat mencapai peningkatan kinerja yang signifikan dengan beralih menggunakan tepi terarah.
Jika model data Anda memang memerlukan melintasi tepi dua arah, buat node pertama (sisi kiri) dalam MATCH
pola node dengan penyaringan paling ketat.
Ambil contoh, “Temukan saya semua routes
ke dan dari ANC
bandara”. Tulis kueri ini untuk memulai di ANC
bandara, seperti ini:
MATCH p=(src:airport {code: 'ANC'})-[:route]-(d) RETURN p
Mesin dapat melakukan jumlah minimal pekerjaan untuk memenuhi query, karena node yang paling terbatas ditempatkan sebagai node pertama (sisi kiri) dalam pola. Mesin kemudian dapat mengoptimalkan kueri.
Ini jauh lebih disukai daripada menyaring ANC
bandara di akhir pola, seperti ini:
MATCH p=(d)-[:route]-(src:airport {code: 'ANC'}) RETURN p
Ketika node yang paling terbatas tidak ditempatkan pertama kali dalam pola, mesin harus melakukan pekerjaan tambahan karena tidak dapat mengoptimalkan kueri dan harus melakukan pencarian tambahan untuk sampai pada hasil.