Tuesday, 15 December 2020

innotop : A realtime terminal-based top-like monitor for MySQL

Setelah install, Grant user yang ingin digunakan untuk monitoring

GRANT SUPER, REPLICATION CLIENT  ON *.* TO username@'localhost';

Referensi

  1. innotop, https://github.com/innotop/innotop

Sunday, 13 December 2020

Melihat dan Mengubah Engine Tabel-Tabel di Database dengan CLI

Melihat engine yang digunakan pada setiap tabel di sebuah database : 
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'dbname';

 Mengubah Engine :

ALTER TABLE tbl_name ENGINE=InnoDB;

 Jika mengalami error seperti https://gist.github.com/wildanm/c082ac468a6b9056ceeec5b0c2058c11

Coba naikkan nilai : 

net_read_timeout dan net_write_timeout

Tuesday, 4 August 2020

The total number of locks exceeds the lock table size

Jika  menemukan error seperti ini, yang bisa kita lakukan adalah memperbesar ukuran innodb_buffer_pool_size , maksimalkan sesuai dengan kemampuan mesin kita. 

Jika sudah, dan masih terjadi error yang sama, maka bisa dicoba cara berikut : 

SET @@AUTOCOMMIT=0;

SQL statements disini ….

UNLOCK TABLES;

Wednesday, 24 July 2019

LEFT JOIN Begitu Lama

Ketika melakukan LEFT JOIN begitu lama, maka ada beberapa hal yang harus diperhatikan :

  1. Kolom-kolom dalam klausa WHERE pastikan ter-index
  2. Tabel-tabel yang terlibat operasi JOIN, harus dipastikan memiliki collation yang sama

Contoh : 

EXPLAIN select p.nomor from peserta p LEFT JOIN esai e ON p.nomor=e.nomor WHERE substr(p.nomor_sekunder, 7, 2) IN ('01', '02', '03') AND p.is_hadir_kd=1 AND e.nomor IS NULL ;

Jika di Extra terdapat Using join buffer (Block Nested Loop) seperti dibawah, 


silahkan baca [1]

Referensi

  1. MySQL - how to add “Using join buffer (Block Nested Loop)” to a query?, https://stackoverflow.com/questions/34375065/mysql-how-to-add-using-join-buffer-block-nested-loop-to-a-query