author

Berapa Banyak Data yang Mampu Disimpan pada MySQL dengan AUTO_INCREMENT?


Big Data - MYSQL - Petani Kode

Ini artikel lama, belum di-update. Isinya mungkin tidak relevan dengan kondisi sekarang

AUTO_INCREMENT sangat sering saya gunakan dalam mengerjakan proyek. AUTO_INCREMENT membuat Kita tidak perlu mengisi field secara manual maupun dengan generator dalam kode. Tapi, … apakah ini aman? Apakah tidak masalah bila nanti datanya banyak? Berapa banyak sih data yang mampu ditampung bila menggunakan AUTO_INCREMENT? Mari kita sedikit pikirkan masalah Big Data.

Batas AUTO_INCREMENT

Ternyata AUTO_INCREMENT memiliki batas. Apabila sudah melampaui batas, mungkin sistemnya akan macat. Jadi hati-hati menggunakannya. Berdasarkan jawaban yang saya dapatkan di Stack Overflow, berikut ini batasan-batasan AUTO_INCREMENT berdasarkan tipe datanya.
TINYINT            - 127
UNSIGNED TINYINT   - 255
SMALLINT           - 32767
UNSIGNED SMALLINT  - 65535
MEDIUMINT          - 8388607
UNSIGNED MEDIUMINT - 16777215
INT                - 2147483647
UNSIGNED INT       - 4294967295
BIGINT             - 9223372036854775807
UNSIGNED BIGINT    - 18446744073709551615

Apakah ini aman?

Kalau sistem yang dibangun sekelas tugas sekolah/kuliah, mungkin tidak masalah. Tapi, apa bila kita membangun sistem nyata yang akan menampung banyak sekali data, maka perlu dipertimbangkan penggunaan AUTO_INCREMENT.

Apa Ada Alternatif?

Alternatif mungkin bisa menggunakan generator ID yang unik. Nanti tipe datanya dalam bentuk VARCHAR atau CHAR. Isinya berupa karakter unik yang di-generate dari kode.

Baca: Membuat Generator id Unik seperti id Video YouTube di PHP

Kesimpulan

AUTO_INCREMENT merupakan fitur untuk pengisian record (angka) secara otomatis. AUTO_INCREMENT mengisi angka secara terurut mulai dari 1, 2, 3, … dan seterusnya. AUTO_INCREMENT memiliki batas mengikuti tipe datanya.