Ketika kita membuat aplikasi yang menggunakan database, tentunya kita membutuhkan simulasi database seperti pada kondisi sesungguhnya.
Dengan simulasi tersebut, kita ingin mengukur performance dari aplikasi yang kita bangun. Baik dalam kondisi ideal maupun ekstremnya.
Pada artikel kali ini, Bardimin akan membagikan cara mudah dengan menggunakan script untuk melakukan insert ribuan random data ke MySQL.
Script yang pertama akan kita bagikan adalah sebuah fungsi dari MySQL untuk membuat random data.
Sedangkan script yang kedua adalah sebuah procedure untuk melakukan insert data dari script yang pertama.
Sebelum memulainya, anda harus membuat database terlebih dahulu, kemudian membuat tabel yang akan kita insert dengan data tersebut.
Membuat tabel random data
Buat tabel dengan nama “random_data” yang memiliki 3 kolom dengan nama (id, column01, colum02)
CREATE TABLE `random_data` ( `id` int(11) NOT NULL, `Column01` varchar(20) NOT NULL, `Column02` varchar(20) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Script Random Data MySQL
- Buka phpMyAdmin. Kemudian pada kolom sebelah kiri, klik pada nama database. Dan pada kolom sebelah kanan pilih tab “Routines”. Selanjutnya pilih dan klik “Add routine”.
- Kemudian buat fungsi dengan nama “random_data” seperti pada gambar berikut.
- Untuk lebih mudahnya import script di bawah ini.
DELIMITER $$ CREATE DEFINER=`root`@`localhost` FUNCTION `random_string`(`length` SMALLINT(4) UNSIGNED) RETURNS varchar(20) CHARSET latin1 BEGIN SET @returnStr = ''; SET @allowedChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; SET @i = 0; WHILE (@i < length) DO SET @returnStr = CONCAT(@returnStr, substring(@allowedChars, FLOOR(RAND() * LENGTH(@allowedChars) + 1), 1)); SET @i = @i + 1; END WHILE; RETURN @returnStr; END$$ DELIMITER ;
- Fungsi tersebut akan menghasilkan random data sebanyak 20 karakter, ubah sesuai dengan kebutuhan anda.
Script Insert Data MySQL
- Ulangi lagi langkah 1 – 3.
- Kemudian buat procedure dengan nama “generate_random_string” seperti pada gambar berikut.
- Atau import script berikut
DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `generate_random_string`() BEGIN DECLARE i INT DEFAULT 0; WHILE i < 10000 DO INSERT INTO random_data(column01,column02) VALUES ( `random_string`(20),`random_string`(20) ); SET i = i + 1; END WHILE; END$$ DELIMITER ;
- Procedure tersebut akan melakukan insert sebanyak 10.000 baris random data, ubah sesuai dengan yang anda perlukan.
Artikel Menarik Lainnya
Menjalankan script MySQL
Untuk menjalankan script tersebut, pada tab “Routines” pilih script “generate_random_string” dan klik tombol “Execute”
Hasilnya akan tampak seperti berikut
Mudah bukan melakukan insert ribuan data pada MySQL.
Semoga bermanfaat.