Cara menggunakan insert lock table mysql

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

Referensi ini mencakup informasi tentang parameter Aurora MySQL, variabel status, dan ekstensi SQL umum atau perbedaan dari mesin basis data komunitas MySQL.

Parameter konfigurasi Aurora MySQL

Anda mengelola klaster DB Amazon Aurora MySQL Anda dengan cara yang sama seperti Anda mengelola instans DB Amazon RDS lain, dengan menggunakan parameter dalam grup parameter DB. Amazon Aurora berbeda dari mesin DB lainnya karena Anda memiliki klaster DB yang berisi beberapa instans DB. Akibatnya, beberapa parameter yang Anda gunakan untuk mengelola klaster DB Aurora MySQL berlaku untuk seluruh klaster. Parameter lain hanya berlaku untuk instans DB tertentu dalam kluster DB.

Untuk mengelola parameter tingkat klaster, Anda menggunakan grup parameter klaster DB. Untuk mengelola parameter tingkat instans, Anda menggunakan grup parameter DB. Setiap instans DB di kluster DB Aurora MySQL kompatibel dengan mesin database MySQL. Namun, Anda menerapkan beberapa parameter mesin database MySQL di tingkat klaster, dan Anda mengelola parameter ini menggunakan grup parameter klaster DB. Anda tidak dapat menemukan parameter tingkat klaster dalam grup parameter DB untuk instans dalam klaster Aurora DB. Daftar parameter tingkat klaster akan muncul nanti dalam topik ini.

Anda dapat mengelola parameter tingkat klaster dan tingkat instans menggunakan AWS Management Console, AWS CLI, atau API Amazon RDS. Anda menggunakan perintah terpisah untuk mengelola parameter tingkat klaster dan parameter tingkat instans. Misalnya, Anda dapat menggunakan perintah modify-db-cluster-parameter-group CLI untuk mengelola parameter tingkat klaster DB dalam grup parameter klaster DB. Anda dapat menggunakan perintah modify-db-parameter-groupCLI untuk mengelola parameter tingkat instans dalam grup parameter untuk instans DB dalam klaster DB.

Anda dapat melihat parameter tingkat klaster dan tingkat instans di konsol, atau dengan menggunakan CLI atau RDS API. Misalnya, Anda dapat menggunakan describe-db-cluster-parametersAWS CLIperintah untuk melihat parameter tingkat klaster DB dalam grup parameter klaster DB. Anda dapat menggunakan perintah describe-db-parametersCLI untuk melihat parameter tingkat instans dalam grup parameter DB untuk instans DB dalam klaster DB dalam klaster DB dalam klaster DB dalam klaster DB dalam klaster DB.

Setiap grup parameter default berisi nilai default untuk semua parameter di grup parameter. Jika parameter memiliki "engine default" untuk nilai ini, lihat dokumentasi MySQL atau PostgreSQL versi khusus untuk nilai default sebenarnya.

Untuk informasi selengkapnya tentang grup parameter DB, lihat Bekerja dengan grup parameter. Untuk aturan dan batasan klaster Aurora Serverless , lihat .

Parameter tingkat klaster

Tabel berikut menunjukkan semua parameter yang berlaku untuk seluruh klaster DB Aurora MySQL.

Nama parameterDapat dimodifikasiCatatan

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
6

Ya

Hanya memengaruhi kluster yang menggunakan replikasi biner log (binlog). Untuk informasi tentang replikasi binlog, lihat Replikasi antara Aurora dan MySQL atau antara Aurora dan klaster DB Aurora lainnya (replikasi binlog). Dihapus dari Aurora MySQL versi 3.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
7

Ya

Hanya memengaruhi kluster yang menggunakan replikasi biner log (binlog). Untuk informasi tentang replikasi binlog, lihat Replikasi antara Aurora dan MySQL atau antara Aurora dan klaster DB Aurora lainnya (replikasi binlog).

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
8

Ya

Hanya memengaruhi kluster yang menggunakan replikasi biner log (binlog). Untuk informasi tentang replikasi binlog, lihat Replikasi antara Aurora dan MySQL atau antara Aurora dan klaster DB Aurora lainnya (replikasi binlog). Dihapus dari Aurora MySQL versi 3.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
9

Ya

Untuk informasi selengkapnya, lihat . Tidak berlaku untuk kluster yang merupakan bagian dari basis data global Aurora. Dihapus dari Aurora MySQL versi 3.

set transaction isolation level read committed;
0

Ya

Untuk informasi selengkapnya, lihat . Tidak berlaku untuk kluster yang merupakan bagian dari basis data global Aurora. Dihapus dari Aurora MySQL versi 3.

set transaction isolation level read committed;
1

Ya

Pengaturan ini tersedia di Aurora MySQL versi 1 dan 3, tetapi tidak digunakan.

set transaction isolation level read committed;
2

Ya

Pengaturan ini diaktifkan secara default di Aurora MySQL 2.10 dan yang lebih tinggi. Untuk informasi selengkapnya, lihat .

set transaction isolation level read committed;
3

Ya

Untuk informasi selengkapnya, lihat Memuat data ke klaster DB Amazon Aurora MySQL dari file teks dalam bucket Amazon S3. Saat ini tidak tersedia di Aurora MySQL versi 3. Gunakan

set transaction isolation level read committed;
4.

set transaction isolation level read committed;
5

Ya

Pengaturan ini diaktifkan secara default di Aurora MySQL 2.11 dan lebih tinggi.

Gunakan pengaturan ini untuk menutupi hash kata sandi MySQL Aurora di log umum, kueri lambat, dan audit. Nilai yang diizinkan adalah

set transaction isolation level read committed;
6 dan
set transaction isolation level read committed;
7 (default). Saat diatur ke
set transaction isolation level read committed;
7, kata sandi dicatat sebagai
set transaction isolation level read committed;
9. Ketika diatur ke
set transaction isolation level read committed;
6, password dicatat sebagai hash (
EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
1) nilai-nilai.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
2

Ya

Untuk informasi selengkapnya, lihat Menyimpan data dari klaster DB Amazon Aurora MySQL ke dalam file teks di bucket Amazon S3. Saat ini tidak tersedia di Aurora MySQL versi 3. Gunakan

set transaction isolation level read committed;
4.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
4

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
5

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
6

Ya

Untuk informasi selengkapnya, lihat Memanggil fungsi Lambda dari klaster DB Amazon Aurora MySQL.

set transaction isolation level read committed;
4

Ya

Digunakan saat meminta pernyataan

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
8,
EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
9, atau
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
0 dari klaster DB Anda.

Dalam Aurora MySQL versi 1 dan 2, IAM role yang ditentukan dalam parameter ini digunakan jika IAM role tidak ditentukan untuk

set transaction isolation level read committed;
3 atau
EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
2 untuk pernyataan yang sesuai.

Dalam Aurora MySQL versi 3, peran IAM yang ditentukan untuk parameter ini selalu digunakan.

Untuk informasi selengkapnya, lihat Mengaitkan IAM role dengan klaster DB Amazon Aurora MySQL.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
3

Ya

AWS CLI dan RDS API melaporkan nilai

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
4 jika parameter ini tidak diatur. Dalam hal ini, Aurora MySQL menggunakan nilai default mesin, yaitu
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
5. Ini berbeda dari pengaturan eksplisit
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
6, yang mematikan checksum. Untuk perbaikan bug yang terkait dengan parameter ini, lihat pembaruan mesin database Aurora MySQL 2020-09-02 (versi 1.23.0) dan pembaruan mesin database Aurora MySQL 2020-03-05 (versi 1.22.2) di Catatan Rilis untuk Aurora MySQL.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
7

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
8

Ya

Untuk informasi selengkapnya, lihat Replikasi antara Aurora dan MySQL atau antara Aurora dan klaster DB Aurora lainnya (replikasi binlog).

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
9

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
0

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
1

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
2

Tidak

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
3

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
4

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
5

Ya

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
6

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
7

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
8

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
9

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
0

Ya

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
1

Ya

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
2

Ya

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
3

Ya

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
4

Ya

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
5

Ya

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
6

Ya

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
7

Ya

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
8

Ya

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
9

Ya

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
0

Tidak

Klaster Aurora MySQL menggunakan mesin penyimpanan untuk semua data Anda.

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
1

Terkadang

Dapat dimodifikasi di Aurora MySQL versi 2.04 dan lebih baru.

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
2

Ya

Menunjukkan status Penjadwal Peristiwa.

Dimodifikasi hanya pada tingkat cluster di Aurora MySQL versi 3.

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
3

Terkadang

Dapat dimodifikasi di Aurora MySQL versi 2.04 dan lebih baru.

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
4

Ya

Perintah yang akan dijalankan oleh server untuk setiap klien yang terhubung. Gunakan tanda kutip ganda (“) untuk pengaturan untuk menghindari kegagalan koneksi, misalnya:

SET optimizer_switch="hash_join=off"

Di Aurora MySQL versi 3, parameter ini tidak berlaku untuk pengguna yang memiliki

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
5 hak istimewa. Ini termasuk pengguna master Aurora. Untuk informasi selengkapnya, lihat .

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
6

Ya

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
7

Tidak

Dihapus dari Aurora MySQL versi 3.

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
8

Ya

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
9

Ya

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
0

Tidak

Aurora MySQL menggunakan instans terkelola dengan sistem file yang tidak bisa Anda akses secara langsung.

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
1

Ya

Opsi ini digunakan untuk menonaktifkan deteksi kebuntuan pada Aurora MySQL versi 3.

Pada sistem konkurensi tinggi, deteksi kebuntuan dapat menyebabkan perlambatan ketika banyak utas menunggu kunci yang sama. Konsultasikan dokumentasi MySQL untuk informasi lebih lanjut tentang parameter ini.

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
2

Ya

Parameter ini mendefinisikan format baris default untuk tabel InnoDB (termasuk tabel sementara InnoDB yang dibuat pengguna). Ini berlaku untuk Aurora MySQL versi 2 dan 3, tetapi tidak versi 1.

Nilainya bisa

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
3,
EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
4, atau
EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
5

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
6

Ya

Parameter ini mempengaruhi bagaimana penyimpanan tabel diatur. Untuk informasi selengkapnya, lihat .

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
7

Aurora MySQL versi 1 dan 2: Ya

Aurora MySQL versi 3: Tidak

Untuk Aurora MySQL versi 1 dan 2, kami sangat menyarankan Anda menggunakan nilai default 1.

Untuk Aurora MySQL versi 3, Aurora selalu menggunakan nilai default 1.

Untuk informasi selengkapnya, lihat .

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
8

Ya

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
9

Ya

SET optimizer_switch="hash_join=off"
00

Ya

SET optimizer_switch="hash_join=off"
01

Ya

SET optimizer_switch="hash_join=off"
02

Ya

SET optimizer_switch="hash_join=off"
03

Ya

SET optimizer_switch="hash_join=off"
04

Tidak

SET optimizer_switch="hash_join=off"
05

Ya

SET optimizer_switch="hash_join=off"
06

Ya

SET optimizer_switch="hash_join=off"
07

Ya

SET optimizer_switch="hash_join=off"
08

Ya

SET optimizer_switch="hash_join=off"
09

Ya

SET optimizer_switch="hash_join=off"
10

Ya

SET optimizer_switch="hash_join=off"
11

Ya

Dihapus dari Aurora MySQL versi 3.

SET optimizer_switch="hash_join=off"
12

Ya

SET optimizer_switch="hash_join=off"
13

Ya

SET optimizer_switch="hash_join=off"
14

Ya

SET optimizer_switch="hash_join=off"
15

Tidak

Aurora MySQL menggunakan instans terkelola dengan sistem file yang tidak bisa Anda akses secara langsung.

SET optimizer_switch="hash_join=off"
16

Ya

Dihapus dari Aurora MySQL versi 3.

SET optimizer_switch="hash_join=off"
17

Tidak

Dihapus dari Aurora MySQL versi 3.

SET optimizer_switch="hash_join=off"
18

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
19

Ya

Cache kunci untuk tabel MyISAM. Untuk informasi selengkapnya, lihat .

SET optimizer_switch="hash_join=off"
20

Ya

SET optimizer_switch="hash_join=off"
21

Ya (Aurora MySQL versi 1 dan 2), hanya pada waktu pembuatan cluster (Aurora MySQL versi 3)

Dalam Aurora MySQL versi 2.10 dan versi 2.x yang lebih tinggi, pastikan untuk me-reboot semua instans pembaca setelah mengubah pengaturan ini dan me-reboot instans penulis. Untuk detailnya, lihat . Di Aurora MySQL versi 3, nilai parameter ini diatur secara permanen pada saat cluster dibuat. Jika Anda menggunakan nilai nondefault untuk opsi ini, siapkan grup parameter kustom Aurora MySQL versi 3 sebelum memutakhirkan, dan tentukan grup parameter selama operasi pemulihan snapshot yang membuat klaster versi 3.

SET optimizer_switch="hash_join=off"
22

Ya

Dihapus dari Aurora MySQL versi 3.

SET optimizer_switch="hash_join=off"
23

Ya

Aurora MySQL versi 1 dan 2. Gunakan

SET optimizer_switch="hash_join=off"
24 di Aurora MySQL versi 3.

SET optimizer_switch="hash_join=off"
25

Tidak

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
26

Ya

Ketika parameter ini diaktifkan, server mengizinkan tidak ada pembaruan kecuali dari yang dilakukan oleh thread replika.

Di Aurora MySQL versi 3, parameter ini tidak berlaku untuk pengguna yang memiliki

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
5 hak istimewa. Ini termasuk pengguna master Aurora. Untuk informasi selengkapnya, lihat .

SET optimizer_switch="hash_join=off"
28

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
29

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
30

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
31

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
32

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
33

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
34

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
35

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
36

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
37

Ya

Untuk informasi selengkapnya, lihat .

SET optimizer_switch="hash_join=off"
38

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
39

Ya

SET optimizer_switch="hash_join=off"
40

Ya

SET optimizer_switch="hash_join=off"
41

Ya

SET optimizer_switch="hash_join=off"
42

Ya

Untuk petunjuk tentang cara mengunggah log ke Amazon CloudWatch Logs, lihatMemublikasikan log MySQL Amazon Aurora ke Amazon CloudWatch Beberapa catatan.

SET optimizer_switch="hash_join=off"
43

Tidak

SET optimizer_switch="hash_join=off"
44

Ya

SET optimizer_switch="hash_join=off"
45

Tidak

SET optimizer_switch="hash_join=off"
46

Ya

Hanya berlaku untuk klaster Aurora MySQL versi 2, dengan kompatibilitas MySQL 5.7.

SET optimizer_switch="hash_join=off"
24

Ya

Aurora MySQL versi 3 dan lebih tinggi

SET optimizer_switch="hash_join=off"
48

Ya

Dihapus dari Aurora MySQL versi 3.

SET optimizer_switch="hash_join=off"
49

Ya

SET optimizer_switch="hash_join=off"
50

Ya

Untuk informasi selengkapnya, lihat .

Parameter tingkat instans

Tabel berikut menunjukkan semua parameter yang berlaku untuk instans DB tertentu di klaster DB Aurora MySQL.

Nama parameterDapat dimodifikasiCatatan

SET optimizer_switch="hash_join=off"
51

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
52

Tidak

SET optimizer_switch="hash_join=off"
53

Ya

Untuk informasi selengkapnya, lihat Mode lab Amazon Aurora MySQL. Dihapus dari Aurora MySQL versi 3.

SET optimizer_switch="hash_join=off"
54

Ya

Parameter ini didukung untuk Aurora MySQL versi 1.18 dan lebih tinggi, dan versi 2.04.5 dan lebih tinggi. Ini tidak didukung untuk versi 3. Untuk informasi selengkapnya, lihat .

SET optimizer_switch="hash_join=off"
55

Ya

Atur

SET optimizer_switch="hash_join=off"
56 untuk mengaktifkan kueri parallel di Aurora MySQL versi 1.23 dan 2.09 atau lebih tinggi. Parameter
SET optimizer_switch="hash_join=off"
57 lama tidak digunakan dalam versi ini. Untuk informasi selengkapnya, lihat Bekerja dengan kueri paralel untuk Amazon Aurora MySQL.

SET optimizer_switch="hash_join=off"
57

Ya

Atur ke

SET optimizer_switch="hash_join=off"
59 untuk mematikan kueri paralel untuk instans DB tertentu di Aurora MySQL versi sebelum 1.23 dan 2.09. Di 1.23 dan 2.09 atau lebih tinggi, aktifkan dan nonaktifkan kueri paralel
SET optimizer_switch="hash_join=off"
55. Untuk informasi selengkapnya, lihat Bekerja dengan kueri paralel untuk Amazon Aurora MySQL.

SET optimizer_switch="hash_join=off"
61

Ya

SET optimizer_switch="hash_join=off"
62

Ya

SET optimizer_switch="hash_join=off"
63

Ya

SET optimizer_switch="hash_join=off"
64

Tidak

Aurora MySQL menggunakan instans terkelola dengan sistem file yang tidak bisa Anda akses secara langsung.

SET optimizer_switch="hash_join=off"
65

Ya

SET optimizer_switch="hash_join=off"
66

Ya

SET optimizer_switch="hash_join=off"
67

Ya

SET optimizer_switch="hash_join=off"
68

Ya

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
6

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
7

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
71

Ya

SET optimizer_switch="hash_join=off"
72

Ya

SET optimizer_switch="hash_join=off"
73

Ya

SET optimizer_switch="hash_join=off"
74

Tidak

Aurora MySQL menggunakan instans terkelola dengan sistem file yang tidak bisa Anda akses secara langsung.

SET optimizer_switch="hash_join=off"
75

Tidak

Aurora MySQL menggunakan instans terkelola dengan sistem file yang tidak bisa Anda akses secara langsung.

SET optimizer_switch="hash_join=off"
76

Tidak

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

SET optimizer_switch="hash_join=off"
77

Tidak

SET optimizer_switch="hash_join=off"
78

Ya

SET optimizer_switch="hash_join=off"
79

Ya

SET optimizer_switch="hash_join=off"
80

Ya

SET optimizer_switch="hash_join=off"
81

Ya

SET optimizer_switch="hash_join=off"
82

Ya

SET optimizer_switch="hash_join=off"
83

Ya

SET optimizer_switch="hash_join=off"
84

Ya

SET optimizer_switch="hash_join=off"
85

Ya

SET optimizer_switch="hash_join=off"
86

Ya

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
2

Terkadang

Menunjukkan status Penjadwal Peristiwa.

Dimodifikasi hanya pada tingkat cluster di Aurora MySQL versi 3.

SET optimizer_switch="hash_join=off"
88

Ya

SET optimizer_switch="hash_join=off"
89

Tidak

SET optimizer_switch="hash_join=off"
90

Ya

SET optimizer_switch="hash_join=off"
91

Tidak

SET optimizer_switch="hash_join=off"
92

Ya

SET optimizer_switch="hash_join=off"
93

Ya

SET optimizer_switch="hash_join=off"
94

Ya

SET optimizer_switch="hash_join=off"
95

Ya

SET optimizer_switch="hash_join=off"
96

Ya

Untuk petunjuk tentang cara mengunggah log ke CloudWatch Log, lihatMemublikasikan log MySQL Amazon Aurora ke Amazon CloudWatch Beberapa catatan.

SET optimizer_switch="hash_join=off"
97

Tidak

Aurora MySQL menggunakan instans terkelola dengan sistem file yang tidak bisa Anda akses secara langsung.

SET optimizer_switch="hash_join=off"
98

Ya

SET optimizer_switch="hash_join=off"
99

Ya

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
4

Ya

Perintah yang akan dijalankan oleh server untuk setiap klien yang terhubung. Gunakan tanda kutip ganda (“) untuk pengaturan untuk menghindari kegagalan koneksi, misalnya:

SET optimizer_switch="hash_join=off"

Di Aurora MySQL versi 3, parameter ini tidak berlaku untuk pengguna yang memiliki

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
5 hak istimewa. Ini termasuk pengguna master Aurora. Untuk informasi selengkapnya, lihat .

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
02

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
03

Ya

Memodifikasi parameter ini tidak berdampak, karena

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
04 selalu 0 untuk Aurora.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
05

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
06

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
07

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
08

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
09

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
10

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
11

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
12

Ya

Nilai default-nya diwakili oleh rumus. Untuk detail tentang bagaimana

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
13 nilai dalam rumus dihitung, lihat.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
14

Tidak

Aurora MySQL tidak menggunakan buffer perubahan InnoDB sama sekali.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
15

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
16

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
17

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
18

Ya

Memodifikasi parameter ini tidak berdampak, karena

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
04 selalu 0 untuk Aurora.

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
1

Ya

Opsi ini digunakan untuk menonaktifkan deteksi kebuntuan pada Aurora MySQL versi 3.

Pada sistem konkurensi tinggi, deteksi kebuntuan dapat menyebabkan perlambatan ketika banyak utas menunggu kunci yang sama. Konsultasikan dokumentasi MySQL untuk informasi lebih lanjut tentang parameter ini.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
21

Ya

Dihapus dari Aurora MySQL versi 3.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
22

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
23

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
24

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
25

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
26

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
27

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
28

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
29

Ya

Dihapus dari Aurora MySQL versi 3.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
30

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
31

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
32

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
33

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
34

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
35

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
36

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
37

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
38

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
39

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
40

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
41

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
42

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
43

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
44

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
45

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
46

Tidak

Aurora MySQL mengelola status hanya-baca dan baca/tulis instans DB berdasarkan jenis klaster. Misalnya, kluster yang disediakan memiliki satu instans DB baca/tulis (instans utama) dan instans lain dalam kluster adalah hanya baca (Replika Aurora).

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
47

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
48

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
49

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
50

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
51

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
52

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
53

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
54

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
04

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
56

Ya

Memodifikasi parameter ini tidak berdampak, karena

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
04 selalu 0 untuk Aurora.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
58

Ya

Aurora mengevaluasi nilai minimum

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
58 dan
set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
60. Kemudian menggunakan minimum tersebut sebagai batas waktu untuk mengakhiri semua sesi siaga, interaktif dan noninteraktif.

SET optimizer_switch="hash_join=off"
18

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
62

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
63

Ya

SET optimizer_switch="hash_join=off"
19

Ya

Cache kunci untuk tabel MyISAM. Untuk informasi selengkapnya, lihat .

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
65

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
66

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
67

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
68

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
69

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
70

Tidak

Mengatur

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
8 ke
set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
72,
set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
73, atau
set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
74 secara otomatis mengatur
set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
70 ke
SET optimizer_switch="hash_join=off"
56. Mengatur
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
8 ke
SET optimizer_switch="hash_join=off"
59 secara otomatis mengatur
set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
70 ke
SET optimizer_switch="hash_join=off"
59. Untuk informasi selengkapnya, lihat Replikasi antara Aurora dan MySQL atau antara Aurora dan klaster DB Aurora lainnya (replikasi binlog).

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
81

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
82

Ya

Dihapus dari Aurora MySQL versi 3.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
83

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
84

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
85

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
86

Tidak

Aurora MySQL versi 1 dan 2. Gunakan

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
87 di Aurora MySQL versi 3.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
87

Tidak

Aurora MySQL versi 3 dan lebih tinggi

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
89

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
90

Ya

Dihapus dari Aurora MySQL versi 3.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
91

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
92

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
93

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
94

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
95

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
96

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
97

Ya

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
98

Ya

Nilai default-nya diwakili oleh rumus. Untuk detail tentang bagaimana

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
13 nilai dalam rumus dihitung, lihat. Untuk nilai default tergantung pada kelas instance, lihat.

set transaction isolation level read committed;
00

Ya

set transaction isolation level read committed;
01

Ya

set transaction isolation level read committed;
02

Ya

set transaction isolation level read committed;
03

Ya

set transaction isolation level read committed;
04

Ya

set transaction isolation level read committed;
05

Ya

Dihapus dari Aurora MySQL versi 3.

set transaction isolation level read committed;
06

Ya

set transaction isolation level read committed;
07

Ya

set transaction isolation level read committed;
08

Ya

set transaction isolation level read committed;
09

Ya

set transaction isolation level read committed;
10

Ya

Dihapus dari Aurora MySQL versi 3.

set transaction isolation level read committed;
11

Ya

set transaction isolation level read committed;
12

Ya

set transaction isolation level read committed;
13

Ya

Dihapus dari Aurora MySQL versi 3.

set transaction isolation level read committed;
14

Ya

set transaction isolation level read committed;
15

Ya

set transaction isolation level read committed;
16

Ya

set transaction isolation level read committed;
17

Ya

set transaction isolation level read committed;
18

Ya

set transaction isolation level read committed;
19

Ya

set transaction isolation level read committed;
20

Ya

set transaction isolation level read committed;
21

Ya

set transaction isolation level read committed;
22

Ya

set transaction isolation level read committed;
23

Ya

set transaction isolation level read committed;
24

Ya

set transaction isolation level read committed;
25

Ya

set transaction isolation level read committed;
26

Ya

Dihapus dari Aurora MySQL versi 3.

set transaction isolation level read committed;
27

Ya

set transaction isolation level read committed;
28

Ya

set transaction isolation level read committed;
29

Ya

Untuk informasi tentang fitur Aurora MySQL yang menggunakan switch ini, lihat Praktik terbaik dengan Amazon Aurora MySQL.

set transaction isolation level read committed;
30

Ya

set transaction isolation level read committed;
31

Ya

set transaction isolation level read committed;
32

Ya

set transaction isolation level read committed;
33

Ya

set transaction isolation level read committed;
34

Ya

set transaction isolation level read committed;
35

Ya

set transaction isolation level read committed;
36

Ya

set transaction isolation level read committed;
37

Ya

set transaction isolation level read committed;
38

Ya

set transaction isolation level read committed;
39

Ya

set transaction isolation level read committed;
40

Ya

set transaction isolation level read committed;
41

Ya

set transaction isolation level read committed;
42

Ya

set transaction isolation level read committed;
43

Ya

set transaction isolation level read committed;
44

Ya

set transaction isolation level read committed;
45

Ya

set transaction isolation level read committed;
46

Ya

set transaction isolation level read committed;
47

Ya

set transaction isolation level read committed;
48

Ya

set transaction isolation level read committed;
49

Ya

set transaction isolation level read committed;
50

Ya

set transaction isolation level read committed;
51

Ya

set transaction isolation level read committed;
52

Ya

set transaction isolation level read committed;
53

Ya

set transaction isolation level read committed;
54

Ya

set transaction isolation level read committed;
55

Ya

Aurora MySQL 2.x saja

set transaction isolation level read committed;
56

Ya

Aurora MySQL 2.x saja

set transaction isolation level read committed;
57

Ya

set transaction isolation level read committed;
58

Ya

set transaction isolation level read committed;
59

Ya

set transaction isolation level read committed;
60

Ya

set transaction isolation level read committed;
61

Ya

set transaction isolation level read committed;
62

Ya

set transaction isolation level read committed;
63

Ya

set transaction isolation level read committed;
64

Ya

set transaction isolation level read committed;
65

Ya

set transaction isolation level read committed;
66

Ya

Aurora MySQL 2.x saja

set transaction isolation level read committed;
67

Ya

Aurora MySQL 2.x saja

set transaction isolation level read committed;
68

Ya

Aurora MySQL 2.x saja

set transaction isolation level read committed;
69

Ya

set transaction isolation level read committed;
70

Ya

set transaction isolation level read committed;
71

Ya

Aurora MySQL 2.x saja

set transaction isolation level read committed;
72

Ya

Aurora MySQL 2.x saja

set transaction isolation level read committed;
73

Ya

set transaction isolation level read committed;
74

Ya

set transaction isolation level read committed;
75

Ya

set transaction isolation level read committed;
76

Ya

set transaction isolation level read committed;
77

Ya

Aurora MySQL 2.x saja

set transaction isolation level read committed;
78

Ya

set transaction isolation level read committed;
79

Ya

set transaction isolation level read committed;
80

Ya

Aurora MySQL 2.x saja

set transaction isolation level read committed;
81

Ya

set transaction isolation level read committed;
82

Ya

set transaction isolation level read committed;
83

Ya

Aurora MySQL 2.x saja

set transaction isolation level read committed;
84

Ya

set transaction isolation level read committed;
85

Ya

set transaction isolation level read committed;
86

Ya

set transaction isolation level read committed;
87

Ya

set transaction isolation level read committed;
88

Ya

set transaction isolation level read committed;
89

Ya

set transaction isolation level read committed;
90

Tidak

set transaction isolation level read committed;
91

Tidak

Aurora MySQL menggunakan instans terkelola dengan sistem file yang tidak bisa Anda akses secara langsung.

set transaction isolation level read committed;
92

Tidak

Aurora MySQL mengelola properti koneksi dan memberlakukan pengaturan yang konsisten untuk semua instans DB dalam klaster.

set transaction isolation level read committed;
93

Ya

set transaction isolation level read committed;
94

Ya

set transaction isolation level read committed;
95

Ya

set transaction isolation level read committed;
96

Ya

Dihapus dari Aurora MySQL versi 3.

set transaction isolation level read committed;
97

Ya

Dihapus dari Aurora MySQL versi 3.

set transaction isolation level read committed;
98

Ya

Nilai default-nya diwakili oleh rumus. Untuk detail tentang bagaimana

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
13 nilai dalam rumus dihitung, lihat.

Dihapus dari Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
00

Ya

Dihapus dari Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
01

Ya

Dihapus dari Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
02

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
03

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
04

Ya

SET optimizer_switch="hash_join=off"
26

Ya

Ketika parameter ini diaktifkan, server mengizinkan tidak ada pembaruan kecuali dari yang dilakukan oleh thread replika.

Dihapus pada tingkat instance dari Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
06

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
07

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
08

Ya

Dihapus dari Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
09

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
10

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
11

Ya

Dihapus dari Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
12

Tidak

Aurora MySQL menggunakan instans terkelola dengan sistem file yang tidak bisa Anda akses secara langsung.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
13

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
14

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
15

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
16

Ya

Aurora MySQL versi 1 dan 2. Gunakan

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
17 di Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
17

Ya

Aurora MySQL versi 3 dan lebih tinggi

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
19

Ya

Aurora MySQL versi 1 dan 2. Gunakan

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
20 di Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
20

Ya

Aurora MySQL versi 3 dan lebih tinggi

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
22

Ya

Aurora MySQL versi 1 dan 2. Gunakan

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
23 di Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
23

Ya

Aurora MySQL versi 3 dan lebih tinggi

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
25

Ya

Aurora MySQL versi 1 dan 2. Gunakan

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
26 di Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
26

Ya

Aurora MySQL versi 3 dan lebih tinggi

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
28

Ya

Aurora MySQL versi 3 dan lebih tinggi

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
29

Ya

Aurora MySQL versi 1 dan 2. Gunakan

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
30 di Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
30

Ya

Aurora MySQL versi 3 dan lebih tinggi

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
32

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
33

Ya

Untuk petunjuk tentang cara mengunggah log ke CloudWatch Log, lihatMemublikasikan log MySQL Amazon Aurora ke Amazon CloudWatch Beberapa catatan.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
34

Tidak

Aurora MySQL menggunakan instans terkelola dengan sistem file yang tidak bisa Anda akses secara langsung.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
35

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
36

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
37

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
38

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
39

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
40

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
41

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
42

Ya

Parameter ini berlaku untuk Aurora MySQL 3 dan yang lebih tinggi.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
43

Ya

Dihapus dari Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
44

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
45

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
46

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
47

Ya

Nilai default-nya diwakili oleh rumus. Untuk detail tentang bagaimana

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
13 nilai dalam rumus dihitung, lihat.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
49

Ya

Nilai default-nya diwakili oleh rumus. Untuk detail tentang bagaimana

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
13 nilai dalam rumus dihitung, lihat.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
51

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
52

Ya

Dihapus dari Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
53

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi. Untuk detailnya, lihat Perilaku tabel sementara baru di Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
54

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi. Untuk detailnya, lihat Perilaku tabel sementara baru di Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
55

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi. Untuk detailnya, lihat Perilaku tabel sementara baru di Aurora MySQL versi 3.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
56

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
57

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
58

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
59

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
60

Tidak

Aurora MySQL menggunakan instans terkelola dengan sistem file yang tidak bisa Anda akses secara langsung.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
61

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
62

Ya

Parameter ini berlaku untuk Aurora MySQL versi 3 dan lebih tinggi. Ini menggantikan

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
63.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
64

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
63

Ya

Dihapus dari Aurora MySQL versi 3. Hal ini digantikan oleh

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
62.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
67

Ya

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
68

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
69

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
70

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
71

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
72

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
73

Tidak

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
74

Tidak

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
60

Ya

Aurora mengevaluasi nilai minimum

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
58 dan
set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
60. Kemudian menggunakan minimum tersebut sebagai batas waktu untuk mengakhiri semua sesi siaga, interaktif dan noninteraktif.

Parameter MySQL yang tidak berlaku untuk Aurora MySQL

Karena perbedaan arsitektur antara Aurora MySQL dan MySQL, sebagian parameter MySQL tidak berlaku untuk Aurora MySQL.

Parameter MySQL berikut tidak berlaku untuk Aurora MySQL. Daftar ini bukan daftar lengkap.

  • SET optimizer_switch="hash_join=off"
    51- Parameter ini tidak berlaku untuk Aurora MySQL versi 1 dan 2. Ini tersedia di Aurora MySQL versi 3.

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    79

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    80

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    81

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    82

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    83

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    84

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    85

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    86

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    87

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    88

  • EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
      FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
    
    1- Parameter ini tidak berlaku untuk Aurora MySQL versi 1 dan 2. Ini tersedia di Aurora MySQL versi 3.

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    90

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    91

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    92- Parameter ini tidak berlaku untuk Aurora MySQL. Untuk informasi selengkapnya, lihat .

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    93

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    94

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    95

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    96

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    97

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    98

  • EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    99

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    00

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    01

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    02

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    03

  • SET optimizer_switch="hash_join=off"
    04

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    05

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    06

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    07

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    08

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    09

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    10

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    11

Variabel status MySQL yang tidak berlaku untuk Aurora MySQL

Karena perbedaan arsitektur antara Aurora MySQL dan MySQL, sebagian variabel status MySQL tidak berlaku untuk Aurora MySQL.

Variabel status MySQL berikut tidak berlaku untuk Aurora MySQL. Daftar ini bukan daftar lengkap.

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    12

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    13

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    14

Aurora MySQL versi 3 menghapus variabel status berikut yang ada di Aurora MySQL versi 2:

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    15

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    16

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    17

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    18

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    19

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    20

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    21

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    22

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    23

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    24

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    25

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    26

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    27

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    28

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    29

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    30

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    31

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    32

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    33

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    34

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    35

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    36

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    37

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    38

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    39

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    40

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    41

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    42

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    43

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    44

Variabel status MySQL ini tersedia di Aurora MySQL versi 1 atau 2, tetapi tidak tersedia di Aurora MySQL versi 3:

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    45

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    46

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    47

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    48

  • EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    49

Peristiwa tunggu Aurora MySQL

Berikut ini adalah beberapa kejadian tunggu yang umum terjadi di Aurora MySQL.

Untuk informasi tentang konvensi penamaan yang digunakan dalam acara tunggu MySQL, lihat Konvensi penamaan instrumen Skema Kinerjadalam dokumentasi MySQL.

cpu

Jumlah koneksi aktif yang siap dijalankan secara konsisten lebih tinggi daripada jumlah vCPUs. Untuk informasi selengkapnya, lihat CPU.

io/aurora_redo_log_flush

Sesi bertahan data untuk penyimpanan Aurora. Biasanya, kejadian tunggu ini adalah untuk operasi I/O tulis di Aurora MySQL. Untuk informasi selengkapnya, lihat io/aurora_redo_log_flush.

io/aurora_respond_to_client

Pemrosesan kueri telah selesai dan hasilnya dikembalikan ke klien aplikasi untuk versi MySQL Aurora berikut: 2.10.2 dan versi 2.10 yang lebih tinggi, versi 2.09.3 dan 2.09 yang lebih tinggi, versi 2.07.7 dan 2.07 yang lebih tinggi, dan 1.22.6 dan versi 1.22 yang lebih tinggi. Bandingkan bandwidth jaringan kelas instans DB dengan ukuran set hasil yang dikembalikan. Juga, periksa waktu respons sisi klien. Jika klien tidak responsif dan tidak dapat memproses paket TCP, paket tetes dan transmisi ulang TCP dapat terjadi. Situasi ini berdampak negatif pada bandwidth jaringan. Dalam versi yang lebih rendah dari 2.10.2, 2.09.3, 2.07.7, dan 1.22.6, acara tunggu keliru mencakup waktu idle. Untuk mempelajari cara menyetel database Anda ketika menunggu ini menonjol, lihatio/aurora_respond_to_client.

io/file/csv/data

Thread menulis ke tabel dalam format nilai yang dipisahkan koma (CSV). Periksa penggunaan tabel CSV Anda. Penyebab umum kejadian ini adalah mengatur

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
84 pada tabel.

io/file/innodb/innodb_data_file

Utas menunggu I/O dari penyimpanan. Kejadian ini lebih banyak muncul dalam beban kerja intensif I/O. Ketika acara tunggu ini lazim, pernyataan SQL mungkin menjalankan kueri intensif disk atau meminta data yang tidak dapat dipenuhi oleh pool buffer InnoDB. Untuk informasi selengkapnya, lihat io/file/innodb/innodb_data_file.

io/file/sql/binlog

Sebuah thread menunggu pada file biner log (binlog) yang sedang dituliskan ke disk.

io/socket/sql/client_connection

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
51Program ini sibuk membuat utas untuk menangani koneksi klien baru yang masuk. Untuk informasi selengkapnya, lihat io/socket/sql/client_connection.

io/table/sql/handler

Mesin sedang menunggu akses ke meja. Peristiwa ini terjadi terlepas dari apakah data di-cache di kolam buffer atau diakses pada disk. Untuk informasi selengkapnya, lihat io/table/sql/handler.

lock/table/sql/handler

Kejadian tunggu ini adalah penangan kejadian tungguk pengunci munci. Untuk informasi lebih lanjut tentang peristiwa atom dan molekul dalam Skema Kinerja, lihat Peristiwa atom dan molekul SkemaKinerja dalam dokumentasi MySQL.

synch/cond/mysys/my_thread_var::suspend

Benang ditangguhkan sambil menunggu kunci tingkat meja karena utas lain dikeluarkan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
52.

synch/cond/sql/MDL_context::COND_wait_status

Utas menunggu pada kunci metadata tabel. Mesin menggunakan jenis kunci untuk mengelola akses bersamaan ke skema database dan untuk memastikan konsistensi data. Untuk informasi selengkapnya, lihat Mengoptimalkan operasi pengunciandalam dokumentasi MySQL. Untuk mempelajari cara menyetel database Anda saat acara ini menonjol, lihatsynch/cond/sql/MDL_context::COND_wait_status.

synch/cond/sql/MYSQL_BIN_LOG::COND_done

Anda telah mengaktifkan pencatatan biner. Mungkin ada throughput komit tinggi, melakukan transaksi dalam jumlah besar, atau replika membaca binlog. Pertimbangkan untuk menggunakan pernyataan multirow atau pernyataan bundling menjadi satu transaksi. Di Aurora, gunakan database global alih-alih replikasi log biner, atau gunakan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
53 parameternya.

synch/mutex/innodb/aurora_lock_thread_slot_futex

Pernyataan bahasa manipulasi data (DFL) yang mengakses baris database yang sama pada saat yang sama. Untuk informasi selengkapnya, lihat synch/mutex/innodb/aurora_lock_thread_slot_futex.

synch/mutex/innodb/buf_pool_mutex

Kolam buffer tidak cukup besar untuk menampung set data kerja. Atau beban kerja mengakses halaman dari tabel tertentu, yang mengarah ke pertengkaran di kumpulan buffer. Untuk informasi selengkapnya, lihat synch/mutex/innodb/buf_pool_mutex.

sinkronkan/mutex/innodb/fil_system_mutex

Prosesnya sedang menunggu akses ke cache memori tablespace. Untuk informasi selengkapnya, lihat synch/mutex/innodb/fil_system_mutex.

sinkronisasi/mutex/innodb/os_mutex

Acara ini merupakan bagian dari acara semaphore. Ini menyediakan akses eksklusif ke variabel yang digunakan untuk sinyal antara benang. Penggunaan termasuk thread statistik, pencarian teks lengkap, buffer pool dump dan operasi beban, dan log flushes. Peristiwa tunggu ini khusus untuk Aurora MySQL versi 1.

sinkronkan/mutex/innodb/trx_sys_mutex

Operasi memeriksa, memperbarui, menghapus, atau menambahkan ID transaksi di InnoDB secara konsisten atau terkontrol. Operasi ini memerlukan panggilan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
54 mutex, yang dilacak oleh instrumentasi Skema Kinerja. Operasi meliputi pengelolaan sistem transaksi ketika database dimulai atau dimatikan, rollback, membatalkan pembersihan, akses baca baris, dan beban kolam penyangga. Beban database yang tinggi dengan sejumlah besar transaksi menghasilkan seringnya penampilan acara tunggu ini. Untuk informasi selengkapnya, lihat synch/mutex/innodb/trx_sys_mutex.

Sinkronkan/mutex/mysys/key_cache:: cache_lock

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
55Mutex mengontrol akses ke cache kunci untuk tabel MyISAM. Meskipun Aurora MySQL tidak mengizinkan penggunaan tabel MyISAM untuk menyimpan data persisten, mereka digunakan untuk menyimpan tabel sementara internal. Pertimbangkan untuk memeriksa penghitung
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
56 status
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
57 atau, karena dalam situasi tertentu, tabel sementara ditulis ke disk ketika mereka tidak lagi muat dalam memori.

Sinkron/MUTEX/SQL/File_AS_Table:: Lock_offsets

Mesin mengakuisisi mutex ini saat membuka atau membuat file metadata tabel. Ketika acara menunggu ini terjadi dengan frekuensi yang berlebihan, jumlah tabel yang dibuat atau dibuka telah berduri.

Sinkronkan/mutex/sql/file_as_table:: lock_shim_lists

Mesin memperoleh mutex ini saat melakukan operasi seperti

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
58,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
59, atau
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
60 pada struktur internal yang melacak tabel yang dibuka. Mutex menyinkronkan akses ke isi daftar. Ketika acara menunggu ini terjadi dengan frekuensi tinggi, ini menunjukkan perubahan mendadak dalam set tabel yang sebelumnya diakses. Mesin perlu mengakses tabel baru atau melepaskan konteks yang terkait dengan tabel yang diakses sebelumnya.

synch/mutex/sql/LOCK_open

Jumlah tabel yang dibuka sesi Anda melebihi ukuran cache definisi tabel atau cache terbuka tabel. Tingkatkan ukuran cache ini. Untuk informasi selengkapnya, lihat Cara MySQL membuka dan menutup tabel.

synch/mutex/sql/LOCK_table_cache

Jumlah tabel yang dibuka sesi Anda melebihi ukuran cache definisi tabel atau cache terbuka tabel. Tingkatkan ukuran cache ini. Untuk informasi selengkapnya, lihat Cara MySQL membuka dan menutup tabel.

synch/mutex/sql/LOG

Dalam kejadian tunggu ini, terdapat thread yang menunggu pada kunci log. Misalnya, thrad mungkin akan menunggu penguncian untuk menulis ke file log kueri lambat.

synch/mutex/sql/MYSQL_BIN_LOG::LOCK_commit

Dalam kejadian tunggu ini, ada thread yang menunggu untuk mendapatkan kunci dengan tujuan commit ke log biner. Pengisian log biner dapat terjadi pada basis data dengan tingkat perubahan yang sangat tinggi. Tergantung pada versi MySQL, terdapat beberapa kunci yang digunakan untuk melindungi konsistensi dan ketahanan log biner. Dalam RDS for MySQL, log biner digunakan untuk replikasi dan proses backup otomatis. Di Aurora MySQL, log biner tidak diperlukan untuk replikasi atau backup asli. Opsi ini dinonaktifkan secara default, tetapi dapat diaktifkan dan digunakan untuk replikasi eksternal atau mengubah penangkapan data. Untuk informasi selengkapnya, lihat Log binerdalam dokumentasi MySQL.

Sinkron/MUTEX/SQL/MYSQL_BIN_LOG:: LOCK_DUMP_THREAD_METRICS_COLLECTION

Jika pencatatan biner dihidupkan, mesin memperoleh mutex ini saat mencetak metrik thread dump aktif ke log kesalahan mesin dan ke peta operasi internal.

Sinkron/MUTEX/SQL/MYSQL_BIN_LOG:: LOCK_INACTIVE_BINLOGS_MAP

Jika pencatatan biner dihidupkan, mesin memperoleh mutex ini ketika menambah, menghapus dari, atau mencari melalui daftar file binlog di belakang yang terbaru.

Sinkronkan/MUTEX/SQL/MYSQL_BIN_LOG:: LOCK_IO_Cache

Jika pencatatan biner dihidupkan, mesin memperoleh mutex ini selama operasi cache Aurora binlog IO: mengalokasikan, mengubah ukuran, membebaskan, menulis, membaca, membersihkan, dan mengakses info cache. Jika peristiwa ini sering terjadi, mesin mengakses cache tempat kejadian binlog disimpan. Untuk mengurangi waktu tunggu, kurangi komit. Coba kelompokkan beberapa pernyataan ke dalam satu transaksi.

synch/mutex/sql/MYSQL_BIN_LOG::LOCK_log

Anda telah mengaktifkan pencatatan biner. Mungkin ada throughput komit tinggi, banyak transaksi yang dilakukan, atau replika membaca binlog. Pertimbangkan untuk menggunakan pernyataan multirow atau pernyataan bundling menjadi satu transaksi. Di Aurora, gunakan database global alih-alih replikasi log biner atau gunakan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
61 parameternya.

Sinkronkan/MUTEX/SQL/SERVER_THREAD:: LOCK_SYNC

Mutex

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
62 diperoleh selama penjadwalan, pemrosesan, atau peluncuran utas untuk penulisan file. Kejadian berlebihan dari acara menunggu ini menunjukkan peningkatan aktivitas menulis dalam database.

Sinkron/mutex/SQL/Tablespace: Kunci

Mesin mengakuisisi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
63 mutex selama operasi tablespace berikut: buat, hapus, potong, dan perpanjang. Kejadian berlebihan dari acara tunggu ini menunjukkan frekuensi operasi tablespace yang tinggi. Contohnya adalah memuat sejumlah besar data ke dalam database.

synch/rwlock/innodb/dict

Dalam kejadian tunggu ini, ada thread yang menanti di rwlock yang ada di kamus data InnoDB.

synch/rwlock/innodb/dict_operation_lock

Dalam kejadian tunggu ini, ada thread yang menahan kunci di operasi kamus data InnoDB.

synch/rwlock/innodb/dict sys RW lock

Sejumlah besar pernyataan bahasa kontrol data bersamaan (DCL) dalam kode bahasa definisi data (DDL) dipicu pada saat yang sama. Kurangi ketergantungan aplikasi pada DDL selama aktivitas aplikasi reguler.

synch/rwlock/innodb/hash_table_lock/innodb/hash_table_locks

Kejadian berlebihan dari acara tunggu ini menunjukkan pertengkaran saat memodifikasi tabel hash yang memetakan cache buffer. Pertimbangkan untuk meningkatkan ukuran cache buffer dan meningkatkan jalur akses untuk kueri yang relevan. Untuk mempelajari cara menyetel database Anda ketika menunggu ini menonjol, lihatsynch/rwlock/innodb/hash_table_locks.

synch/rwlock/innodb/index_tree_rw_lock

Sejumlah besar pernyataan bahasa manipulasi data yang sama (DML-nya) mengakses objek database yang sama pada saat yang sama. Coba gunakan pernyataan multirow. Juga, sebarkan beban kerja di atas objek database yang berbeda. Misalnya, menerapkan partisi.

sinkroniskan/sxlock/innodb/dict_operation_lock

Sejumlah besar pernyataan bahasa kontrol data bersamaan (DCL) dalam kode bahasa definisi data (DDL) dipicu pada saat yang sama. Kurangi ketergantungan aplikasi pada DDL selama aktivitas aplikasi reguler.

synch/sxlock/innodb/dict_sys_lock/innodb/dict_sys_lock

Sejumlah besar pernyataan bahasa kontrol data bersamaan (DCL) dalam kode bahasa definisi data (DDL) dipicu pada saat yang sama. Kurangi ketergantungan aplikasi pada DDL selama aktivitas aplikasi reguler.

sinkronisasi/sxlock/innodb/hash_table_locks

Sesi tidak dapat menemukan halaman dalam buffer pool. Mesin perlu membaca file atau memodifikasi daftar yang paling jarang digunakan (LRU) untuk kumpulan buffer. Pertimbangkan untuk meningkatkan ukuran cache buffer dan meningkatkan jalur akses untuk kueri yang relevan.

sinkronkan/sxlock/innodb/index_tree_rw_lock

Banyak pernyataan bahasa manipulasi data (DMLM) yang sama sedang mengakses objek database yang sama pada saat yang sama. Coba gunakan pernyataan multirow. Juga, sebarkan beban kerja di atas objek database yang berbeda. Misalnya, menerapkan partisi.

Untuk informasi selengkapnya tentang pemecahan masalah peristiwa tunggu sinkronisasi, lihat Mengapa instans MySQL DB saya menampilkan sejumlah besar sesi aktif menunggu peristiwa tunggu SYNCH di Performance Insights?.

Negara utas Aurora MySQL

Berikut ini adalah beberapa negara thread umum untuk Aurora MySQL.

memeriksa izin

Thread memeriksa apakah server memiliki hak istimewa yang diperlukan untuk menjalankan pernyataan.

memeriksa cache kueri untuk kueri

Server memeriksa apakah query saat ini hadir dalam cache query.

dibersihkan

Ini adalah keadaan akhir dari koneksi yang pekerjaannya selesai tetapi yang belum ditutup oleh klien. Solusi terbaik adalah secara eksplisit menutup koneksi dalam kode. Atau Anda dapat menetapkan nilai yang lebih rendah untuk

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
60 grup parameter Anda.

menutup tabel

Utas menyiram data tabel yang diubah ke disk dan menutup tabel yang digunakan. Jika ini bukan operasi yang cepat, verifikasi metrik konsumsi bandwidth jaringan terhadap bandwidth jaringan kelas instance. Juga, periksa apakah nilai parameter untuk

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
49 dan
EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
47 parameter memungkinkan tabel yang cukup terbuka secara bersamaan sehingga mesin tidak perlu sering membuka dan menutup tabel. Parameter ini mempengaruhi konsumsi memori pada instance.

mengkonversi HEAP ke MyISAM

Kueri mengubah tabel sementara dari dalam memori ke on-disk. Konversi ini diperlukan karena tabel sementara yang dibuat oleh MySQL dalam langkah menengah pemrosesan kueri tumbuh terlalu besar untuk memori. Periksa nilai-nilai

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
59 dan
set transaction isolation level read committed;
02. Dalam versi yang lebih baru, nama negara thread ini
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
69.

mengkonversi HEAP ke ondisk

Thread mengubah tabel sementara internal dari tabel dalam memori ke tabel on-disk.

salin ke tabel tmp

Benang sedang memproses

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
70 pernyataan. Keadaan ini terjadi setelah tabel dengan struktur baru telah dibuat tetapi sebelum baris disalin ke dalamnya. Untuk utas dalam keadaan ini, Anda dapat menggunakan Skema Kinerja untuk mendapatkan informasi tentang kemajuan operasi penyalinan.

menciptakan indeks semacam

Aurora MySQL melakukan semacam karena tidak dapat menggunakan indeks yang ada untuk memenuhi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
71 atau
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
72 klausa kueri. Untuk informasi selengkapnya, lihat membuat indeks sortir.

membuat tabel

Utas membuat tabel permanen atau sementara.

tertunda komit ok selesai

Komit asinkron di Aurora MySQL telah menerima pengakuan dan selesai.

tertunda komit ok dimulai

Thread Aurora MySQL telah memulai proses commit async tetapi sedang menunggu pengakuan. Ini biasanya merupakan waktu komit asli dari suatu transaksi.

tertunda kirim ok selesai

Thread pekerja MySQL Aurora yang terikat ke koneksi dapat dibebaskan saat respons dikirim ke klien. Utas dapat memulai pekerjaan lain. Negara

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
73 berarti bahwa asynchronous pengakuan kepada klien selesai.

tertunda kirim ok dimulai

Thread pekerja MySQL Aurora telah mengirimkan respons secara asinkron ke klien dan sekarang bebas untuk melakukan pekerjaan untuk koneksi lain. Transaksi telah memulai proses komit async yang belum diakui.

menghukum mati

Thread telah mulai menjalankan pernyataan.

membebaskan item

Thread telah menjalankan perintah. Beberapa membebaskan item yang dilakukan selama keadaan ini melibatkan cache kueri. Keadaan ini biasanya diikuti dengan membersihkan.

init

Negara ini terjadi sebelum inisialisasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
70,,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
75,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
76
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
77, atau
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
78 pernyataan. Tindakan dalam keadaan ini termasuk pembilasan log biner atau log InnoDB, dan beberapa pembersihan cache kueri.

master telah mengirim semua binlog untuk budak

Node utama telah menyelesaikan bagiannya dari replikasi. Utas menunggu lebih banyak kueri untuk dijalankan sehingga dapat menulis ke log biner (binlog).

membuka tabel

Utas sedang mencoba membuka meja. Operasi ini cepat kecuali

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
70 atau
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
80 pernyataan perlu menyelesaikan, atau melebihi nilai
EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
49.

mengoptimalkan

Server melakukan optimasi awal untuk query.

mempersiapkan

Keadaan ini terjadi selama optimasi kueri.

akhir kueri

Negara ini terjadi setelah memproses query tapi sebelum negara item membebaskan.

menghapus duplikat

Aurora MySQL tidak dapat mengoptimalkan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
82 operasi pada tahap awal kueri. Aurora MySQL harus menghapus semua baris duplikat sebelum mengirim hasilnya ke klien.

mencari baris untuk pembaruan

Utas menemukan semua baris yang cocok sebelum memperbaruinya. Tahap ini diperlukan jika mengubah indeks yang digunakan mesin untuk menemukan baris.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
78

mengirim acara binlog ke budak

Thread membaca peristiwa dari log biner dan mengirimkannya ke replika.

mengirim hasil cache ke klien

Server mengambil hasil dari query dari cache query dan mengirimkannya ke klien.

mengirim data

Thread membaca dan memproses baris untuk

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
77 pernyataan tetapi belum mulai mengirim data ke klien. Prosesnya mengidentifikasi halaman mana yang berisi hasil yang diperlukan untuk memenuhi kueri. Untuk informasi selengkapnya, lihat Mengirim data.

mengirim ke klien

Server sedang menulis paket ke klien. Dalam versi MySQL sebelumnya, acara tunggu ini diberi label

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
85.

mulai

Ini adalah tahap pertama pada awal eksekusi pernyataan.

statistik

Server menghitung statistik untuk mengembangkan rencana eksekusi query. Jika thread dalam keadaan ini untuk waktu yang lama, server mungkin disk-terikat saat melakukan pekerjaan lain.

menyimpan hasil dalam cache query

Server menyimpan hasil query di cache query.

kunci sistem

Thread telah dipanggil

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
86, tetapi keadaan thread belum diperbarui sejak panggilan. Keadaan umum ini terjadi karena berbagai alasan.

update

Utas sedang bersiap untuk mulai memperbarui tabel.

memutakhirkan

Utas sedang mencari baris dan memperbaruinya.

kunci pengguna

Utas mengeluarkan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
87 panggilan. Utas meminta kunci penasehat dan sedang menunggu, atau berencana untuk memintanya.

menunggu lebih banyak pembaruan

Node utama telah menyelesaikan bagiannya dari replikasi. Utas menunggu lebih banyak kueri untuk dijalankan sehingga dapat menulis ke log biner (binlog).

menunggu kunci metadata skema

Ini adalah menunggu kunci metadata.

menunggu kunci metadata fungsi tersimpan

Ini adalah menunggu kunci metadata.

menunggu kunci metadata prosedur yang disimpan

Ini adalah menunggu kunci metadata.

menunggu meja siram

Utas mengeksekusi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
88 dan sedang menunggu semua utas untuk menutup tabel mereka. Atau thread menerima pemberitahuan bahwa struktur yang mendasari untuk tabel berubah, sehingga harus membuka kembali tabel untuk mendapatkan struktur baru. Untuk membuka kembali tabel, utas harus menunggu sampai semua utas lainnya telah menutup meja. Pemberitahuan ini terjadi jika thread lain telah menggunakan salah satu pernyataan berikut di atas meja:
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
88,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
70,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
91,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
92,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
93, atau
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
94.

menunggu kunci tingkat meja

Satu sesi memegang kunci di atas meja sementara sesi lain mencoba untuk mendapatkan kunci yang sama di meja yang sama.

menunggu kunci metadata meja

Aurora MySQL menggunakan penguncian metadata untuk mengelola akses bersamaan ke objek database dan untuk memastikan konsistensi data. Dalam acara tunggu ini, satu sesi memegang kunci metadata di atas meja sementara sesi lain mencoba untuk mendapatkan kunci yang sama pada tabel yang sama. Ketika Skema Kinerja diaktifkan, negara thread ini dilaporkan sebagai acara tunggu

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
95.

menulis ke net

Server sedang menulis paket ke jaringan. Dalam versi MySQL yang lebih baru, acara tunggu ini diberi label

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
96.

Tingkat isolasi Aurora MySQL

Setelah itu, Anda dapat melakukan mempelajari bagaimana instans DB di klaster Aurora MySQL menerapkan properti basis data isolasi. Melakukannya membantu Anda memahami bagaimana perilaku default Aurora MySQL seimbang antara konsistensi yang ketat dan kinerja yang tinggi. Anda juga dapat memutuskan kapan akan mengubah pengaturan default berdasarkan karakteristik beban kerja Anda.

Tingkat isolasi yang tersedia untuk instans penulis

Anda dapat menggunakan tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
97,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
99, dan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
00 pada instans utama klaster satu-master Aurora MySQL. Anda dapat menggunakan tingkat isolasi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
97,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98, dan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
99 dalam kluster multi-master Aurora MySQL. Tingkat isolasi ini bekerja sama di Aurora MySQL seperti dalam RDS for MySQL.

Tingkat isolasi REPEATABLE READ untuk instans pembaca

Secara default, instans DB Aurora MySQL dikonfigurasi sebagai Aurora Replica baca saja dengan selalu menggunakan tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
97. Instans DB ini mengabaikan pernyataan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
05 dan terus menggunakan tingkat isolasi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
97.

Tingkat isolasi READ COMMITTED untuk instans pembaca

Jika aplikasi Anda mencakup beban kerja intensif tulis pada instans utama dan kueri yang berjalan lama pada Aurora Replica, Anda mungkin mengalami kelambatan pembersihan yang substansial. Lag penghapusan terjadi jika pengumpulan sampah internal diblokir oleh kueri yang berjalan lama. Gejala yang Anda lihat adalah nilai yang tinggi untuk

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
07 dalam output dari perintah
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
08. Anda dapat memantau nilai ini menggunakan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
09 metrik di CloudWatch. Kondisi ini dapat mengurangi efektivitas indeks sekunder dan menyebabkan penurunan kinerja kueri secara keseluruhan dan pemborosan ruang penyimpanan.

Jika Anda mengalami masalah seperti itu, Anda dapat menggunakan pengaturan konfigurasi tingkat sesi Aurora MySQL,

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
10, untuk menggunakan tingkat isolasi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 pada Aurora Replica. Menggunakan pengaturan ini dapat membantu mengurangi pelambatan dan ruang terbuang yang dapat diakibatkan oleh melakukan kueri panjang pada saat yang sama seperti transaksi yang mengubah tabel Anda.

Kami menyarankan Anda untuk memahami perilaku tertentu Aurora MySQL dari isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 sebelum menggunakan pengaturan ini. Perilaku Aurora Replica
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 sesuai dengan standar ANSI SQL. Namun, isolasinya tidak seketat perilaku khas
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 biasanya yang mungkin Anda kenal. Dengan demikian, Anda mungkin melihat hasil kueri yang berbeda di bawah
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 di sebuah replika baca Aurora MySQL dari pada kueri yang sama di bawah
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 pada instans utama Aurora MySQL atau pada RDS for MySQL. Anda dapat menggunakan pengaturan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
10 untuk kasus penggunaan seperti laporan komprehensif yang memindai database yang sangat besar. Anda dapat menghindarinya untuk kueri pendek dengan set hasil kecil, di mana presisi dan keterulangan penting.

Tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 tidak tersedia untuk sesi dengan klaster sekunder dalam basis data global Aurora yang menggunakan fitur penerusan tulis. Untuk informasi tentang penerusan tulis, lihat Menggunakan penerusan menulis dalam basis data global Amazon Aurora.

Memungkinkan READ COMMITTED untuk pembaca

Untuk mengaktifkan tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 untuk Aurora Replica, aktifkan pengaturan konfigurasi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
10. Aktifkan pengaturan ini di tingkat sesi sambil menghubungkan Aurora Replica tertentu. Untuk melakukannya, jalankan perintah SQL berikut.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;

Anda dapat mengaktifkan sementara pengaturan konfigurasi ini untuk melakukan kueri ad hoc interaktif (sekali waktu). Anda mungkin juga ingin menjalankan aplikasi pelaporan atau analisis data yang mendapat manfaat dari tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98, sambil membiarkan nilai default tidak berubah untuk aplikasi lain.

Saat pengaturan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
10 diaktifkan, gunakan perintah
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
05 untuk menentukan tingkat isolasi untuk transaksi yang tepat.

set transaction isolation level read committed;

Perbedaan dalam perilaku READ COMITTED pada replika Aurora

Pengaturan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
10 membuat tingkat isolasi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 yang tersedia untuk Aurora Replica, dengan perilaku konsistensi yang dioptimalkan untuk transaksi jangka panjang. Tingkat isolasi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 pada Aurora Replica memiliki isolasi yang tidak terlalu ketat dibandingkan pada instans primer Aurora atau instans multi-master. Oleh karena itu, aktifkan pengaturan ini hanya di Aurora Replicas, tempat Anda tahu bahwa pertanyaan Anda dapat menerima kemungkinan jenis hasil tertentu yang tidak konsisten.

Pertanyaan Anda dapat mengalami beberapa jenis anomali baca ketika pengaturan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
10 diaktifkan. Dua jenis anomali sangat penting untuk dipahami dan ditangani dalam kode aplikasi Anda. Bacaan yang tidak dapat diulang terjadi saat ada komunikasi lain commit saat kueri Anda sedang berjalan. Pencarian jangka panjang dapat melihat data yang berbeda pada awal pencarian dari yang ia lihat pada akhir pencarian. Pembacaan fantom terjadi ketika transaksi lain menyebabkan baris yang ada disusun ulang saat kueri Anda berjalan, dan satu baris atau lebih dibaca dua kali oleh kueri Anda.

Kueri Anda mungkin mengalami jumlah baris yang tidak konsisten sebagai hasil dari pembacaan fantom. Kueri Anda juga dapat memberikan hasil yang tidak lengkap atau tidak konsisten karena hasil yang tidak dapat diulang. Misalnya, anggaplah operasi gabungan merujuk ke tabel yang secara bersamaan dimodifikasi oleh pernyataan SQL seperti

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
76 atau
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
75. Dalam kasus ini, kueri gabungan mungkin membaca baris dari satu tabel tetapi bukan baris yang sesuai dari tabel lain.

Standar ANSI SQL memungkinkan kedua perilaku ini untuk tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98. Namun, perilaku tersebut berbeda dari implementasi MySQL khas
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98. Jadi, sebelum mengaktifkan pengaturan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
10, periksa kode SQL yang ada untuk memverifikasi apakah itu beroperasi seperti yang diharapkan di bawah model konsistensi yang lebih longgar.

Jumlah baris dan hasil lainnya mungkin tidak terlalu konsisten di bawah tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 sementara pengaturan ini diaktifkan. Dengan demikian, Anda biasanya mengaktifkan pengaturan hanya saat menjalankan kueri analitik yang mengumpulkan data dalam jumlah besar dan tidak memerlukan presisi absolut. Jika Anda tidak memiliki jenis kueri yang berjalan lama ini bersamaan dengan beban kerja intensif tulis, Anda mungkin tidak memerlukan pengaturan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
10. Tanpa kombinasi kueri jangka panjang dan beban kerja yang intensif tulis, Anda cenderung tidak akan menghadapi masalah yang dengan panjangnya daftar riwayat.

contoh Kueri yang menunjukkan perilaku isolasi untuk READ COMMITTED pada replika Aurora

Contoh berikut menunjukkan bagaimana kueri

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 pada Aurora Replica dapat mengembalikan hasil yang tidak dapat diulang jika transaksi mengubah tabel terkait pada saat yang sama. Tabel
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
36 berisi 1 juta baris sebelum kueri dimulai. Pernyataan bahasa manipulasi data (DML) lainnya menambahkan, menghapus, atau mengubah baris saat sedang berjalan.

Kueri pada instans primer Aurora di bawah tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 memberikan hasil yang dapat diprediksi. Namun demikian, biaya overhead penyimpanan tampilan baca yang konsisten selama masa pakai setiap kueri jangka panjang dapat menyebabkan pengumpulan sampah mahal pada lain waktu.

Kueri pada Aurora Replica di bawah tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 dioptimalkan untuk meminimalkan overhead pengumpulan sampah. Pengorbanannya adalah bahwa hasil mungkin berbeda-beda tergantung pada apakah kueri memuat baris yang ditambahkan, dihapus, atau disusun ulang oleh transaksi yang commit saat kueri berjalan. Kueri diperbolehkan untuk mempertimbangkan baris-baris ini, tetapi tidak diwajibkan. Untuk tujuan demonstrasi, pencarian hanya memeriksa jumlah baris dalam tabel dengan menggunakan fungsi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
39.

WaktuPernyataan DML di instans primer AuroraKueri di instans utama Aurora dengan READ COMMITTEDKueri di replika Aurora dengan READ COMMITTEDT1

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
40T2Q1:
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
41Q2:
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
41T3
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
43T4Jika Q1 selesai sekarang, hasilnya adalah 1.000.000.Jika Q2 selesai sekarang, hasilnya adalah 1.000.000 atau 1.000.001.T5
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
44T6Jika Q1 selesai sekarang, hasilnya adalah 1.000.000.Jika Q2 selesai sekarang, hasilnya adalah 1.000.000 atau 1.000.001 atau 999.999 atau 999.998.T7
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
45T8Jika Q1 selesai sekarang, hasilnya adalah 1.000.000.Jika Q2 selesai sekarang, hasilnya adalah 1.000.000 atau 1.000.001 atau 999.999, atau mungkin beberapa angka yang lebih tinggi.T9Q3:
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
41Q4:
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
41T10Jika Q3 selesai sekarang, hasilnya adalah 999.999.Jika Q4 selesai sekarang, hasilnya adalah 999.999.T11Q5:
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
48Q6:
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
48T12
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
50T13Jika Q5 selesai sekarang, hasilnya adalah 0.Jika Q6 selesai sekarang, hasilnya adalah 0 atau 1.

Jika kueri selesai dengan cepat, sebelum transaksi lain melakukan pernyataan DML dan commit, hasilnya dapat diprediksi dan sama antara instans utama dan Aurora Replica.

Hasil untuk Q1 sangat dapat diprediksi, karena

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 pada instans utama menggunakan model konsistensi kuat yang serupa dengan tingkat isolasi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
97.

Hasil untuk Q2 mungkin beragam bergantung pada transaksi apa yang dilakukan saat kueri berjalan. Misalnya, transaksi lain melakukan pernyataan DML dan commit saat kueri sedang berjalan. Dalam hal ini, kueri di Aurora Replica dengan tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 mungkin atau mungkin tidak memperhitungkan perubahan tersebut. Penghitungan baris tidak dapat diprediksi dengan cara yang sama seperti di bawah tingkat isolasi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
97. Mereka juga tidak dapat diprediksi seperti kueri yang berjalan di bawah tingkat isolasi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 pada instans utama, atau pada instans RDS for MySQL.

Pernyataan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
78 di T7 tidak benar-benar mengubah jumlah baris dalam tabel. Namun, dengan mengubah panjang kolom panjang variabel, pernyataan ini dapat menyebabkan baris-baris tersebut disusun ulang secara internal. Transaksi
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 yang berjalan lama dapat melihat versi lama baris, dan kemudian dalam kueri yang sama melihat versi baru baris yang sama. Kueri juga dapat melewati versi baris lama dan baru. Dengan demikian, penghitungan baris mungkin berbeda dari yang diharapkan.

Hasil Q5 dan Q6 mungkin identik atau sedikit berbeda. Kueri Q6 pada Aurora Replica di bawah

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 dapat melihat, tetapi tidak wajib untuk melihat, baris baru yang di-commit saat kueri berjalan. Ia juga dapat melihat baris dari satu tabel, tetapi tidak dari tabel lainnya. Jika kueri join tidak menemukan baris yang cocok di kedua tabel, ia akan menghasilkan angka nol. Jika kueri menemukan baris baru di
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
59 dan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
60, kueri tersebut menghasilkan satu angka. Dalam kueri yang berlangsung lama, pencarian dari tabel gabungan dapat terjadi pada waktu yang terpisah secara luas.

Perbedaan dalam perilaku ini bergantung pada waktu kapan transaksi dilakukan dan kapan kueri memproses baris tabel yang mendasarinya. Oleh karena itu, kemungkinan besar Anda akan melihat perbedaan tersebut dalam kueri laporan yang memakan waktu menit atau jam dan yang berlangsung di kluster Aurora yang memproses transaksi OLTP pada saat yang sama. Ini adalah jenis beban kerja campuran yang mendapat hasil maksimal dari tingkat isolasi

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 pada Aurora Replica.

Petunjuk Aurora MySQL

Anda dapat menggunakan petunjuk SQL dengan kueri Aurora MySQL untuk kinerja yang sempurna. Anda juga dapat menggunakan petunjuk untuk mencegah rencana eksekusi untuk kueri penting berubah berdasarkan kondisi yang tidak dapat diprediksi.

Untuk memverifikasi efek bahwa petunjuk ada pada kueri, periksa rencana kueri yang dihasilkan oleh pernyataan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
62. Bandingkan rencana kueri dengan atau tanpa petunjuk.

Di Aurora MySQL versi 3, Anda dapat menggunakan semua petunjuk yang tersedia di komunitas MySQL 8.0. Untuk detail tentang petunjuk ini, lihat Petunjuk Pengoptimaldi Manual Referensi MySQL.

Petunjuk berikut tersedia di Aurora MySQL 2.08 dan lebih tinggi. Petunjuk ini berlaku untuk kueri yang menggunakan fitur penggabungan hash dalam Aurora MySQL versi 2, terutama kueri yang menggunakan optimasi kueri parallel.

HASH_JOIN, NO_HASH_JOIN

Mengaktifkan atau menonaktifkan kemampuan pengoptimal untuk memilih apakah akan menggunakan metode pengoptimalan gabungan hash untuk kueri.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
63 memungkinkan pengoptimal untuk menggunakan hash join jika mekanisme itu lebih efisien.
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
64 mencegah pengoptimal menggunakan hash join untuk kueri. Petunjuk ini tersedia di Aurora MySQL 2.08 dan lebih tinggi versi minor. Ini tidak berpengaruh di Aurora MySQL versi 3.

Contoh berikut menunjukkan cara menggunakan petunjuk ini.

EXPLAIN SELECT/*+ HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ NO_HASH_JOIN(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
HASH_JOIN_PROBING, NO_HASH_JOIN_PROBING

Di kueri join hash, tentukan apakah akan menggunakan tabel yang ditentukan atau tidak untuk sisi probe dari join. Kueri menguji apakah nilai kolom dari tabel build ada dalam tabel probe, bukan membaca seluruh isi tabel probe. Anda dapat menggunakan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
65 dan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
66 untuk menentukan cara kueri hash join diproses, tanpa mengatur ulang susunan tabel dalam teks kueri. Petunjuk ini tersedia di Aurora MySQL 2.08 dan lebih tinggi versi minor. Ini tidak berpengaruh di Aurora MySQL versi 3.

Contoh berikut menunjukkan cara menggunakan petunjuk ini. Menentukan petunjuk

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
65 untuk tabel
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
68 memiliki efek yang sama seperti menentukan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
69 untuk tabel
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
70.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_PROBING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_PROBING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
HASH_JOIN_BUILDING, NO_HASH_JOIN_BUILDING

Di kueri join hash, tentukan apakah akan menggunakan tabel yang ditentukan atau tidak untuk sisi build dari join. Kueri memproses semua baris dari tabel ini untuk membangun daftar nilai kolom ke referensi silang dengan tabel lain. Anda dapat menggunakan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
65 dan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
66 untuk menentukan cara kueri hash join diproses, tanpa mengatur ulang susunan tabel dalam teks kueri. Petunjuk ini tersedia di Aurora MySQL 2.08 dan lebih tinggi versi minor. Ini tidak berpengaruh di Aurora MySQL versi 3.

Contoh berikut menunjukkan cara menggunakan petunjuk ini. Menentukan petunjuk

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
66 untuk tabel
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
68 memiliki efek yang sama seperti menentukan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
75 untuk tabel
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
70.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
JOIN_FIXED_ORDER

Menentukan bahwa tabel dalam kueri digabungkan berdasarkan urutan yang tercantum dalam pencarian. Ini khususnya berguna dengan kueri yang melibatkan tiga tabel atau lebih. Ditujukan sebagai pengganti untuk petunjuk

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
77 MySQL. Setara dengan petunjuk JOIN_FIXED_ORDERMySQL. Petunjuk ini tersedia di Aurora MySQL 2.08 dan yang lebih tinggi.

Contoh berikut menunjukkan cara menggunakan petunjuk ini.

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
JOIN_ORDER

Menentukan urutan bergabung untuk tabel dalam kueri. Ini khususnya berguna dengan kueri yang melibatkan tiga tabel atau lebih. Setara dengan petunjuk JOIN_ORDERMySQL. Petunjuk ini tersedia di Aurora MySQL 2.08 dan yang lebih tinggi.

Contoh berikut menunjukkan cara menggunakan petunjuk ini.

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2, t1, t3) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
JOIN_PREFIX

Menentukan tabel yang dimasukkan pertama-tama dalam urutan gabung. Ini khususnya berguna dengan kueri yang melibatkan tiga tabel atau lebih. Setara dengan petunjuk JOIN_PREFIXMySQL. Petunjuk ini tersedia di Aurora MySQL 2.08 dan yang lebih tinggi.

Contoh berikut menunjukkan cara menggunakan petunjuk ini.

EXPLAIN SELECT /*+ JOIN_ORDER (t4, t2) */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
JOIN_SUFFIX

Menentukan tabel yang dimasukkan terakhir dalam urutan gabung. Ini khususnya berguna dengan kueri yang melibatkan tiga tabel atau lebih. Setara dengan petunjuk JOIN_SUFFIXMySQL. Petunjuk ini tersedia di Aurora MySQL 2.08 dan yang lebih tinggi.

Contoh berikut menunjukkan cara menggunakan petunjuk ini.

SET optimizer_switch="hash_join=off"
0

Untuk informasi tentang menggunakan kueri hash join, lihat .

Prosedur tersimpan Aurora MySQL

Anda dapat memanggil prosedur yang disimpan berikut saat terhubung dengan instans utama di klaster Aurora MySQL. Prosedur ini mengontrol bagaimana transaksi direplikasi dari basis data eksternal ke Aurora MySQL, atau dari Aurora MySQL ke basis data eksternal. Untuk mempelajari cara menggunakan replikasi berdasarkan pengidentifikasi transaksi global (GTID) dengan Aurora MySQL, lihat Penggunaan replikasi berbasis GTID untukAmazon Aurora MySQL.

mysql.rds_assign_gtids_to_anonymous_transactions (Aurora MySQL versi 3 dan lebih tinggi)

Sintaks

SET optimizer_switch="hash_join=off"
1

Parameter

gtid_option

Nilai string. Nilai yang diizinkan adalah

SET optimizer_switch="hash_join=off"
59,
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
79, atau UUID tertentu.

Catatan penggunaan

Prosedur ini memiliki efek yang sama seperti mengeluarkan pernyataan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
80 di komunitas MySQL.

GTID harus diubah

SET optimizer_switch="hash_join=off"
56 untuk
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
82 untuk disetel ke
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
79 atau UUID tertentu.

Defaultnya adalah

SET optimizer_switch="hash_join=off"
59, artinya fitur tersebut tidak digunakan.

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
79menetapkan GTID termasuk UUID replika sendiri (
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
86pengaturan).

Melewati parameter yang merupakan UUID memberikan GTID yang menyertakan UUID yang ditentukan, seperti

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
86 pengaturan untuk server sumber replikasi.

Contoh

Untuk menonaktifkan fitur ini:

SET optimizer_switch="hash_join=off"
2

Untuk menggunakan UUID replika sendiri:

SET optimizer_switch="hash_join=off"
3

Untuk menggunakan UUID tertentu:

SET optimizer_switch="hash_join=off"
4

mysql.rds_set_master_auto_position (Aurora MySQL versi 1 dan 2)

Mengatur mode replikasi agar didasarkan pada posisi file log biner atau pengidentifikasi transaksi global (GTID).

Sintaks

SET optimizer_switch="hash_join=off"
5

Parameter

auto_position_mode

Nilai yang menunjukkan apakah akan menggunakan replikasi posisi file log atau replikasi berbasis GTID:

  • set transaction isolation level read committed;
    6 – Gunakan metode replikasi berdasarkan posisi file log biner. Defaultnya adalah
    set transaction isolation level read committed;
    6.

  • set transaction isolation level read committed;
    7 – Gunakan metode replikasi berbasis GTID.

Catatan penggunaan

Untuk klaster DB Aurora MySQL, Anda memanggil prosedur tersimpan ini saat terhubung ke instans utama.

Pengguna utama harus menjalankan prosedur

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
91.

Untuk Aurora, prosedur ini didukung untuk Aurora MySQL versi 2.04 dan lebih baru dan versi MySQL yang kompatibel dengan versi 5.7. Replikasi berbasis GTID tidak didukung untuk Aurora MySQL 1.1 atau 1.0.

mysql.rds_set_source_auto_position (Aurora MySQL versi 3 dan lebih tinggi)

Mengatur mode replikasi agar didasarkan pada posisi file log biner atau pengidentifikasi transaksi global (GTID).

Sintaks

SET optimizer_switch="hash_join=off"
6

Parameter

auto_position_mode

Nilai yang menunjukkan apakah akan menggunakan replikasi posisi file log atau replikasi berbasis GTID:

  • set transaction isolation level read committed;
    6 – Gunakan metode replikasi berdasarkan posisi file log biner. Defaultnya adalah
    set transaction isolation level read committed;
    6.

  • set transaction isolation level read committed;
    7 – Gunakan metode replikasi berbasis GTID.

Catatan penggunaan

Untuk klaster DB Aurora MySQL, Anda memanggil prosedur tersimpan ini saat terhubung ke instans utama.

Pengguna administratif harus menjalankan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
95 prosedur.

mysql.rds_set_external_master_with_auto_position (Aurora MySQL versi 1 dan 2)

Mengonfigurasi instans primer Aurora MySQL untuk menerima replikasi masuk dari instans MySQL eksternal. Prosedur ini juga mengonfigurasi replikasi berdasarkan pengidentifikasi transaksi global (GTID).

Prosedur ini tersedia untuk RDS for MySQL dan Aurora MySQL. Prosedur ini bekerja secara berbeda tergantung pada konteksnya. Saat digunakan dengan Aurora MySQL, prosedur ini tidak mengonfigurasi replikasi tertunda. Batasan ini terjadi karena Amazon RDS for MySQL mendukung replikasi tertunda, sementara Aurora MySQL tidak.

Sintaks

SET optimizer_switch="hash_join=off"
7

Parameter

host_name

Nama host atau alamat IP instans MySQL yang berjalan dari luar ke Aurora untuk menjadi master replikasi.

host_port

Port yang digunakan oleh instans MySQL yang berjalan eksternal ke Aurora untuk dikonfigurasi sebagai master replikasi. Jika konfigurasi jaringan Anda mencakup replikasi port Secure Shell (SSH) yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.

replikasi_user_name

ID pengguna dengan izin

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
96 dan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
97 pada instans MySQL yang berjalan secara eksternal ke Aurora. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal.

replikasi_user_password

Kata sandi ID pengguna yang ditentukan dalam

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98.

ssl_enkripsi

Opsi ini saat ini belum diterapkan. Defaultnya adalah 0.

Catatan penggunaan

Untuk klaster DB Aurora MySQL, Anda memanggil prosedur tersimpan ini saat terhubung ke instans utama.

Pengguna utama harus menjalankan prosedur

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
99. Pengguna utama menjalankan prosedur ini pada instans utama klaster DB Aurora MySQL yang bertindak sebagai target replikasi. Ini dapat menjadi target replikasi dari instans DB MySQL eksternal atau klaster DB Aurora MySQL.

Untuk Aurora, prosedur ini didukung untuk Aurora MySQL versi 2.04 dan lebih baru dan versi MySQL yang kompatibel dengan versi 5.7. Replikasi berbasis GTID tidak didukung untuk Aurora MySQL 1.1 atau 1.0. Untuk Aurora MySQL versi 3, gunakan prosedur

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
00 sebagai gantinya.

Sebelum Anda menjalankan

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
99, konfigurasikan instans DB MySQL untuk menjadi master replikasi. Untuk menyambung ke instans MySQL eksternal, tentukan nilai untuk
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 dan
EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
03. Nilai-nilai ini harus menunjukkan pengguna replikasi yang memiliki
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
96 dan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
97 pada instans MySQL eksternal.

Untuk mengonfigurasi instans MySQL eksternal sebagai master replikasi

  1. Dengan menggunakan klien MySQL pilihan Anda, hubungkan ke instans MySQL eksternal dan membuat akun pengguna untuk digunakan untuk replikasi. Berikut adalah contoh.

    SET optimizer_switch="hash_join=off"
    8
  2. Di instans MySQL eksternal, berikan hak istimewa

    EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    96 dan
    EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    97 bagi pengguna replikasi Anda. Contoh berikut memberika hak istimewa
    EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    96 dan
    EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    97 di semua basis data untuk pengguna
    EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
      FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
    
    10 domain Anda.

    SET optimizer_switch="hash_join=off"
    9

Saat Anda memanggil

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
99, Amazon RDS mencatat informasi tertentu. Informasi ini adalah waktu, pengguna, dan tindakan
EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
12 di tabel
EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
13 dan
EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
14.

Untuk melewati transaksi berbasis GTID tertentu yang diketahui menyebabkan masalah, Anda dapat menggunakan prosedur tersimpan . Untuk informasi selengkapnya tentang bekerja dengan replikasi berbasis GTID, lihat Penggunaan replikasi berbasis GTID untukAmazon Aurora MySQL.

Contoh

Saat menjalankan di instans primer Aurora, contoh berikut mengonfigurasi klaster Aurora untuk bertindak sebagai replika baca dari instans MySQL yang berjalan eksternal ke Aurora.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
0

mysql.rds_set_external_source_with_auto_position (Aurora MySQL versi 3 dan lebih tinggi)

Mengonfigurasi instans primer Aurora MySQL untuk menerima replikasi masuk dari instans MySQL eksternal. Prosedur ini juga mengonfigurasi replikasi berdasarkan pengidentifikasi transaksi global (GTID).

Prosedur ini tersedia untuk RDS for MySQL dan Aurora MySQL. Prosedur ini bekerja secara berbeda tergantung pada konteksnya. Saat digunakan dengan Aurora MySQL, prosedur ini tidak mengonfigurasi replikasi tertunda. Batasan ini terjadi karena Amazon RDS for MySQL mendukung replikasi tertunda, sementara Aurora MySQL tidak.

Sintaks

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
1

Parameter

host_name

Nama host atau alamat IP instans MySQL yang berjalan di luar ke Aurora untuk menjadi sumber replikasi.

host_port

Port yang digunakan oleh instans MySQL yang berjalan eksternal ke Aurora untuk dikonfigurasi sebagai sumber replikasi. Jika konfigurasi jaringan Anda mencakup replikasi port Secure Shell (SSH) yang mengubah nomor port, tentukan nomor port yang diekspos oleh SSH.

replikasi_user_name

ID pengguna dengan izin

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
96 dan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
97 pada instans MySQL yang berjalan secara eksternal ke Aurora. Kami menyarankan Anda memberikan akun yang digunakan sepenuhnya untuk replikasi dengan instans eksternal.

replikasi_user_password

Kata sandi ID pengguna yang ditentukan dalam

EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98.

ssl_enkripsi

Opsi ini saat ini belum diterapkan. Defaultnya adalah 0.

Catatan penggunaan

Untuk klaster DB Aurora MySQL, Anda memanggil prosedur tersimpan ini saat terhubung ke instans utama.

Pengguna administratif harus menjalankan

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
00 prosedur. Pengguna administratif menjalankan prosedur ini pada instans utama klaster DB Aurora MySQL yang bertindak sebagai target replikasi. Ini dapat menjadi target replikasi dari instans DB MySQL eksternal atau klaster DB Aurora MySQL.

Prosedur ini didukung untuk Aurora MySQL versi 3.

Sebelum Anda menjalankan

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
00, konfigurasikan instans DB MySQL untuk menjadi sumber replikasi. Untuk menyambung ke instans MySQL eksternal, tentukan nilai untuk
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
98 dan
EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
03. Nilai-nilai ini harus menunjukkan pengguna replikasi yang memiliki
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
96 dan
EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;

EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
  FROM t1, t2 WHERE t1.f1 = t2.f1;
97 pada instans MySQL eksternal.

Untuk mengonfigurasi instans MySQL eksternal sebagai sumber replikasi

  1. Dengan menggunakan klien MySQL pilihan Anda, hubungkan ke instans MySQL eksternal dan membuat akun pengguna untuk digunakan untuk replikasi. Berikut adalah contoh.

    SET optimizer_switch="hash_join=off"
    8
  2. Di instans MySQL eksternal, berikan hak istimewa

    EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    96 dan
    EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    97 bagi pengguna replikasi Anda. Contoh berikut memberika hak istimewa
    EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    96 dan
    EXPLAIN SELECT /*+ HASH_JOIN(t2) HASH_JOIN_BUILDING(t2) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    EXPLAIN SELECT /*+ HASH_JOIN(t2) NO_HASH_JOIN_BUILDING(t1) */ f1, f2
      FROM t1, t2 WHERE t1.f1 = t2.f1;
    
    97 di semua basis data untuk pengguna
    EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
      FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
    
    10 domain Anda.

    SET optimizer_switch="hash_join=off"
    9

Saat Anda memanggil

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
00, Amazon RDS mencatat informasi tertentu. Informasi ini adalah waktu, pengguna, dan tindakan
EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
12 di tabel
EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
13 dan
EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
14.

Untuk melewati transaksi berbasis GTID tertentu yang diketahui menyebabkan masalah, Anda dapat menggunakan prosedur tersimpan . Untuk informasi selengkapnya tentang bekerja dengan replikasi berbasis GTID, lihat Penggunaan replikasi berbasis GTID untukAmazon Aurora MySQL.

Contoh

Saat menjalankan di instans primer Aurora, contoh berikut mengonfigurasi klaster Aurora untuk bertindak sebagai replika baca dari instans MySQL yang berjalan eksternal ke Aurora.

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
4

mysql.rds_skip_transaction_with_gtid

Melewati replikasi transaksi dengan pengidentifikasi transaksi global (GTID) yang ditentukan pada instans primer Aurora.

Anda dapat menggunakan prosedur ini untuk pemulihan bencana ketika transaksi GTID tertentu diketahui menyebabkan masalah. Gunakan prosedur tersimpan ini untuk melewati transaksi bermasalah. Contoh transaksi bermasalah mencakup transaksi yang menonaktifkan replikasi, menghapus data penting, atau menyebabkan instans DB menjadi tidak tersedia.

Sintaks

set session aurora_read_replica_read_committed = ON;
set session transaction isolation level read committed;
5

Parameter

gtid_to_skip

GTID dari transaksi replikasi yang akan dilewati.

Catatan penggunaan

Untuk klaster DB Aurora MySQL, Anda memanggil prosedur tersimpan ini saat terhubung ke instans utama.

Pengguna utama harus menjalankan prosedur

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
33.

Untuk Aurora, prosedur ini didukung untuk Aurora MySQL versi 2.04 dan lebih baru dan versi MySQL yang kompatibel dengan versi 5.7. Ini juga didukung untuk Aurora MySQL versi 3. Replikasi berbasis GTID tidak didukung untuk Aurora MySQL 1.1 atau 1.0.

Aurora MySQL — tabel information_schema khusus

Aurora MySQL memiliki

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
34 tabel tertentu yang khusus untuk Aurora.

information_schema.replica_host_status

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
35Tabel berisi informasi replikasi. Kolom yang dapat Anda gunakan ditunjukkan dalam tabel berikut. Kolom yang tersisa hanya untuk penggunaan internal Aurora.

KolomTipe dataDeskripsiCPUdoublePenggunaan persentase CPU dari host replika.IS_CURRENTtinyintApakah replika saat ini.LAST_UPDATE_TIMESTAMPdatetime (6)Waktu pembaruan terakhir terjadi. Digunakan untuk menentukan apakah catatan basi.REPLICA_LAG_IN_MILIDETIKdoubleReplika lag dalam milidetik.SERVER_IDvarchar (100)ID server basis data.SESSION_IDvarchar (100)ID sesi basis data. Digunakan untuk menentukan apakah instans DB adalah instans DB adalah instans penulis atau pembaca.

Ketika contoh replika tertinggal, informasi yang ditanyakan dari

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
35 tabelnya mungkin sudah ketinggalan zaman. Dalam situasi ini, kami sarankan Anda meminta dari instance penulis sebagai gantinya.

Meskipun

EXPLAIN SELECT /*+ JOIN_FIXED_ORDER */ f1, f2
  FROM t1 JOIN t2 USING (id) JOIN t3 USING (id) JOIN t4 USING (id);
37 tabel memiliki informasi serupa, kami tidak menyarankan Anda untuk menggunakannya.