Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Hindari pemeriksaan label node yang berlebihan dengan menggunakan nama hubungan granular
Saat mengoptimalkan kinerja, menggunakan label hubungan yang eksklusif untuk pola simpul memungkinkan penghapusan pemfilteran label pada node. Pertimbangkan model grafik di mana hubungan hanya likes
digunakan untuk mendefinisikan hubungan antara dua person
node. Kita bisa menulis query berikut untuk menemukan pola ini:
MATCH (n:person)-[:likes]->(m:person) RETURN n, m
Pemeriksaan person
label pada n dan m berlebihan, karena kami mendefinisikan hubungan hanya muncul ketika keduanya bertipe. person
Untuk mengoptimalkan kinerja, kita dapat menulis kueri sebagai berikut:
MATCH (n)-[:likes]->(m) RETURN n, m
Pola ini juga dapat diterapkan ketika properti eksklusif untuk label node tunggal. Asumsikan bahwa hanya person
node yang memiliki propertiemail
, oleh karena itu memverifikasi kecocokan person
label node berlebihan. Menulis kueri ini sebagai:
MATCH (n:person) WHERE n.email = 'xxx@gmail.com' RETURN n
Kurang efisien daripada menulis kueri ini sebagai:
MATCH (n) WHERE n.email = 'xxx@gmail.com' RETURN n
Anda hanya harus mengadopsi pola ini ketika kinerja penting dan Anda memiliki pemeriksaan dalam proses pemodelan Anda untuk memastikan label tepi ini tidak digunakan kembali untuk pola yang melibatkan label simpul lainnya. Jika Anda kemudian memperkenalkan email
properti pada label node lain seperticompany
, maka hasilnya akan berbeda antara dua versi kueri ini.