Import SQL Ukuran Kecil tapi Loading Lama? Ini Cara Kilat Import Puluhan Ribu Baris Data di MySQL/MariaDB!
Mungkin kamu pernah mengalami: file SQL ukurannya kecil (misal hanya 2.4 MB), tapi pas di-import lewat phpMyAdmin, prosesnya "gantung", loading lama, atau bahkan kena timeout.
Kenapa bisa begitu?
Ternyata, beban database bukan cuma dilihat dari ukuran filenya, tapi jumlah baris datanya. Contohnya, file 2.4 MB bisa berisi lebih dari 65.000 baris data (seperti data absensi siswa). Jika di-import lewat browser (phpMyAdmin), setiap baris harus melewati antrean PHP dan Apache yang punya batas waktu (timeout).
Solusi 1: "Pertolongan Pertama" dengan Mengubah Limit PHP
Jika kamu menggunakan Docker atau Podman, kamu bisa menaikkan batas limit di php.ini dengan membuat file konfigurasi tambahan (misal: uploads.ini):
Ini, TOML
upload_max_filesize = 10M
post_max_size = 10M
memory_limit = 256M
max_execution_time = 600 # 10 Menit
Lalu mount file tersebut ke dalam container phpMyAdmin di docker-compose.yml:
YAML
volumes:
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini:ro
Solusi 2: Jalur Tol via Terminal (CLI) — Paling Ampuh!
Lupakan browser jika datamu sudah puluhan ribu baris. Gunakan Terminal untuk menyuntikkan data langsung ke mesin database. Cara ini 10x lebih cepat dan anti-gagal.
Jika kamu menggunakan Podman/Docker, gunakan perintah "sakti" ini:
Bash
podman exec -i nama_container_db mysql -u root -p'password_kamu' nama_database < file_database.sqlKenapa Cara CLI Lebih Baik?
Tanpa Timeout: Tidak ada batasan waktu dari browser atau PHP.
Hemat RAM: Database langsung memproses file tanpa perlu "dibungkus" oleh interface web.
Aman: Mengurangi risiko data terpotong di tengah jalan karena koneksi internet tidak stabil.
Tips Tambahan: Mengatasi Error "Table Already Exists"
Kalau kamu mencoba import ulang dan muncul error Table already exists, kamu bisa membersihkan database dulu sebelum import ulang:
Bash
# Hapus dan buat ulang database agar bersih
podman exec -it nama_container_db mysql -u root -p'password' -e "DROP DATABASE IF EXISTS nama_db; CREATE DATABASE nama_db;"
Kesimpulan
Ukuran file SQL yang kecil tidak menjamin proses import akan cepat jika jumlah barisnya sangat banyak. Menguasai perintah dasar CLI (Command Line Interface) akan sangat menyelamatkan waktu kamu saat bekerja dengan database berskala besar.
Semoga bermanfaat! Jangan lupa share ke teman-teman developer lainnya ya!
#

Posting Komentar