Topik ini menjelaskan sintaksis hint dan cara menggunakannya.
Hint merupakan pelengkap untuk sintaksis SQL dan memainkan peran penting dalam database relasional. Hint memungkinkan Anda memilih metode eksekusi untuk pernyataan SQL menggunakan sintaksis yang sesuai, sehingga membantu mengoptimalkan eksekusi pernyataan SQL. PolarDB-X menyediakan sintaksis hint khusus.
Sintaksis
/*+TDDL: hint_command [hint_command ...]*/
/!+TDDL: hint_command [hint_command ...]*/Catatan Dalam klien baris perintah MySQL, Anda mungkin perlu mengeksekusi pernyataan SQL yang berisi hint PolarDB-X dalam format /*+TDDL:hint_command*/. Dalam hal ini, tambahkan parameter -c ke perintah login. Jika tidak, klien akan menghapus hint PolarDB-X kustom sebelum mengirimkan pernyataan SQL ke server untuk dieksekusi. Hal ini terjadi karena hint tersebut berada dalam format komentar MySQL. Akibatnya, hint PolarDB-X kustom tidak akan berlaku. Untuk informasi lebih lanjut, lihat opsi klien mysql.
Contoh
# Meminta nama tabel fisik di setiap shard basis data.
/*+TDDL:scan()*/SHOW TABLES;
# Mengarahkan permintaan ke Shard Basis Data 0000 dari instance ApsaraDB RDS baca-saja.
/*+TDDL:node(0) slave()*/SELECT * FROM t1;
# Menetapkan jenis beban kerja sebagai pemrosesan analitik (AP).
/*+TDDL:WORKLOAD=AP*/SELECT * FROM t1;PolarDB-X memungkinkan Anda menggunakan hint yang berisi beberapa perintah hint dalam satu pernyataan SQL.
SELECT /*+TDDL:node(0) slave()*/ ...;PolarDB-X memiliki batasan berikut pada penggunaan hint yang berisi beberapa perintah hint:
# Satu pernyataan SQL tidak dapat berisi beberapa hint.
SELECT /*+TDDL:node(0)*/ /*+TDDL:slave()*/ ...;
# Sebuah hint tidak dapat berisi perintah hint yang duplikat.
SELECT /*+TDDL:node(0) node(1)*/ ...;