Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Lebih suka menggunakan kustom IDs untuk node/hubungan
Neptunus memungkinkan pengguna untuk secara eksplisit menetapkan pada node IDs dan hubungan. ID harus unik secara global dalam kumpulan data dan deterministik agar berguna. ID deterministik dapat digunakan sebagai pencarian atau mekanisme penyaringan seperti properti; Namun, menggunakan ID jauh lebih dioptimalkan dari perspektif eksekusi kueri daripada menggunakan properti. Ada beberapa manfaat menggunakan kustom IDs -
-
Properti dapat menjadi nol untuk entitas yang ada, tetapi ID harus ada. Ini memungkinkan mesin kueri untuk menggunakan gabungan yang dioptimalkan selama eksekusi.
-
Ketika kueri mutasi bersamaan dijalankan, kemungkinan pengecualian modifikasi bersamaan (CMEs) berkurang secara signifikan ketika digunakan untuk mengakses node karena lebih sedikit kunci IDs yang diambil IDs daripada properti karena keunikannya yang diberlakukan.
-
Menggunakan IDs menghindari kemungkinan membuat data duplikat karena Neptunus memberlakukan keunikan pada, tidak seperti properti. IDs
Contoh query berikut menggunakan ID kustom:
catatan
Properti ~id
ini digunakan untuk menentukan ID, sedangkan hanya id
disimpan sebagai properti lainnya.
CREATE (n:Person {`~id`: '1', name: 'alice'})
Tanpa menggunakan ID khusus:
CREATE (n:Person {id: '1', name: 'alice'})
Jika menggunakan mekanisme yang terakhir, tidak ada penegakan keunikan dan Anda nantinya dapat menjalankan kueri:
CREATE (n:Person {id: '1', name: 'john'})
Ini menciptakan node kedua dengan id=1
bernamajohn
. Dalam skenario ini, Anda sekarang akan memiliki dua node denganid=1
, masing-masing memiliki nama yang berbeda - (alice dan john).