

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Hindari melakukan perhitungan \~id dalam kueri
<a name="best-practices-content-16"></a>

 Saat menggunakan ID kustom dalam kueri, selalu lakukan perhitungan statis di luar kueri dan berikan nilai-nilai ini dalam parameter. Ketika nilai statis disediakan, mesin lebih mampu mengoptimalkan pencarian dan menghindari pemindaian dan pemfilteran nilai-nilai ini. 

 Jika Anda ingin membuat tepi antara node yang ada di database, salah satu opsi bisa jadi: 

```
UNWIND $sections as section
MATCH (s:Section {`~id`: 'Sec-' + section.id})
MERGE (s)-[:IS_PART_OF]->(g:Group {`~id`: 'g1'})
```

 Dengan parameter: 

```
parameters={sections: [{id: '1'}, {id: '2'}]}
```

 Dalam kueri di atas, `id` bagian sedang dihitung dalam kueri. Karena komputasinya dinamis, mesin tidak dapat secara statis inline id dan akhirnya memindai semua node bagian. Mesin kemudian melakukan post-filtering untuk node yang diperlukan. Ini bisa mahal jika ada banyak node bagian dalam database. 

 Cara yang lebih baik untuk mencapai ini adalah `Sec-` dengan memasukkan id yang diteruskan ke database: 

```
UNWIND $sections as section
MATCH (s:Section {`~id`: section.id})
MERGE (s)-[:IS_PART_OF]->(g:Group {`~id`: 'g1'})
```

 Dengan parameter: 

```
parameters={sections: [{id: 'Sec-1'}, {id: 'Sec-2'}]}
```