Bagian ini menjelaskan prosedur yang tersimpan untuk instance Cloud SQL.
Prosedur tersimpan berisi kode SQL yang dapat Anda gunakan kembali.
Untuk menjalankan prosedur tersimpan, gunakan perintah CALL dan ganti variabel berikut:
- procedure_name adalah nama prosedur yang disimpan.
CALL procedure_name(parameters);
Untuk membuat prosedur tersimpan, lihat BUAT PROSEDUR dan pernyataan BUAT FUNGSI.
Cloud SQL tidak mendukung pernyataan CREATE FUNCTION. Untuk mengetahui informasi selengkapnya, baca Fitur MySQL yang tidak didukung untuk Cloud SQL.
mysql.addSecondaryIdxOnReplica
mysql.addSecondaryIdxOnReplica
Sintaks
mysql.addSecondaryIdxOnReplica(IDXTYPE, IDXNAME, TABLENAME, IDXDEFINITION, IDXOPTION)
Deskripsi
Tambahkan indeks sekunder pada database. Prosedur tersimpan ini adalah wrapper untuk pernyataan DDL CREATE INDEX.
- IDXTYPE – Jenis indeks yang akan dibuat. Contoh, gunakan UNIQUE untuk membuat indeks unik.
- IDXNAME – Nama indeks.
- TABLENAME – Nama tabel dalam format schema.name.
- IDXDEFINITION – Definisi indeks. Jangan sertakan tanda kurung bagian luar.
- IDXOPTION – Semua opsi tambahan yang akan digunakan pada pembuatan indeks. Misalnya, di MySQL 8.0, sebuah opsi dapat menggunakan INVISIBLE untuk indeks tak terlihat.
mysql.dropSecondaryIdxOnReplica
Sintaks
mysql.dropSecondaryIdxOnReplica(IDXNAME, TABLENAME, IDXOPTION)
Deskripsi
Letakkan indeks sekunder pada database. Prosedur tersimpan ini adalah wrapper untuk pernyataan DDL DROP INDEX.
- IDXNAME – Nama indeks.
- TABLENAME – Nama tabel dalam format schema.name.
- IDXOPTION – Semua opsi tambahan yang akan digunakan saat menurunkan indeks. Misalnya, opsi algoritma seperti INPLACE.
mysql.skipReplicationError
Sintaks
mysql.skipReplicationError()
Deskripsi
Melewati error replikasi yang terjadi selama replikasi server eksternal , lalu melanjutkan replikasi.
Anda hanya dapat menjalankan prosedur tersimpan ini jika mengalami error replikasi dan thread I/O serta SQL dihentikan.
Prosedur tersimpan ini melakukan hal berikut:
Menentukan apakah replikasi berbasis GTID atau posisi log biner sedang digunakan.
Jika replikasi paralel digunakan, prosedur tersimpan akan memanggil
START_SLAVE_UNTIL_SQL_AFTER_MTS_GAPSatauSTART_REPLICA UNTIL_SQL_AFTER_MTS_GAPSterlebih dahulu untuk memastikan tidak ada celah dalam transaksi yang diterapkan hingga transaksi yang gagal. Prosedur ini kemudian menetapkan konfigurasi replikasi ke single-thread untuk sementara.Untuk replikasi berbasis posisi log biner, prosedur ini menetapkan
SQL_SLAVE_SKIP_COUNTERatauSQL_REPLICA_SKIP_COUNTER = 1untuk melewati transaksi saat ini.Untuk replikasi berbasis GTID, prosedur tersimpan menentukan GTID transaksi saat ini yang gagal berdasarkan informasi dalam variabel status
gtid_executed. Prosedur ini kemudian menyisipkan transaksi kosong untuk mengisi kembali GTID tersebut.Jika replikasi paralel sebelumnya dinonaktifkan, replikasi paralel akan diaktifkan kembali.
Prosedur tersimpan melanjutkan replikasi.
Tabel mysql.skip_replication_error_history mencatat semua pemanggilan prosedur tersimpan ini.
Langkah berikutnya
- Pelajari cara tambahkan dan letakkan indeks pada replika baca Cloud SQL.