Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Lebih suka diarahkan ke tepi dua arah dalam kueri
Ketika Neptunus melakukan pengoptimalan kueri, tepi dua arah menyulitkan untuk membuat rencana kueri yang optimal. Sub-optimal rencana mengharuskan mesin untuk 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 memerlukan melintasi tepi dua arah, jadikan simpul pertama (sisi kiri) dalam MATCH pola simpul dengan pemfilteran 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 pekerjaan minimal untuk memenuhi kueri, karena node yang paling terbatas ditempatkan sebagai node pertama (sisi kiri) dalam pola. Mesin kemudian dapat mengoptimalkan query.
Ini jauh lebih disukai daripada menyar ANC ing bandara di akhir pola, seperti ini:
MATCH p=(d)-[:route]-(src:airport {code: 'ANC'}) RETURN p
Ketika node yang paling terbatas tidak ditempatkan pertama dalam pola, mesin harus melakukan pekerjaan tambahan karena tidak dapat mengoptimalkan kueri dan harus melakukan pencarian tambahan untuk sampai pada hasil.