Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Nilai Tertentu dengan Cekap dalam Tatasusunan JSON dalam MySQL 8.0.15?

Bagaimana untuk Mencari Nilai Tertentu dengan Cekap dalam Tatasusunan JSON dalam MySQL 8.0.15?

Barbara Streisand
Barbara Streisandasal
2024-10-29 00:46:30272semak imbas

How to Efficiently Search for a Specific Value within a JSON Array in MySQL 8.0.15?

Nilai JSON Carian MySQL mengikut Tatasusunan Kunci

Dalam MySQL 8.0.15, mencari nilai khusus dalam tatasusunan objek JSON boleh mencabar. Walau bagaimanapun, fungsi JSON_TABLE() menyediakan penyelesaian dengan menukar dokumen JSON kepada jadual terbitan maya.

Pertimbangkan tatasusunan berikut:

<code class="json">[
    {"Race": "Orc", "strength": 14},
    {"Race": "Knight", "strength": 7},
]</code>

Untuk mendapatkan semula kekuatan Knight, kami boleh menggunakan:

<code class="sql">SELECT j.strength
FROM mytable,
JSON_TABLE(mycol, '$[*]' 
  COLUMNS (
    race VARCHAR(10) PATH '$.Race', 
    strength INT PATH '$.strength'
  )
) AS j 
WHERE j.race = 'Knight'</code>

Ini menukar tatasusunan JSON kepada jadual dengan lajur "perlumbaan" dan "kekuatan", membolehkan kami menggunakan klausa WHERE untuk mencari nilai yang diingini.

Walau bagaimanapun , kelemahan menggunakan JSON_TABLE() ialah keperluan untuk menentukan atribut yang diingini dalam pertanyaan, yang mungkin tidak dapat dilakukan jika atribut tidak diketahui. Ini menyerlahkan kepentingan mentakrifkan atribut apabila bekerja dengan data JSON untuk memudahkan pertanyaan dan mengelakkan gabungan yang rumit.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Tertentu dengan Cekap dalam Tatasusunan JSON dalam MySQL 8.0.15?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn