Beberapa jawaban:
-
20 juta baris masih dalam batas kemampuan MySQL. Saya bekerja pada database yang memiliki lebih dari 500 juta baris di salah satu tabelnya. Diperlukan waktu berjam-jam untuk menyusun ulang tabel, tetapi kueri biasa tidak menjadi masalah selama kueri tersebut dibantu oleh indeks.
-
Laptop Anda cukup ketinggalan zaman dan kurang bertenaga untuk digunakan sebagai server database skala tinggi. Ini akan memakan waktu lama untuk melakukan restrukturisasi tabel. Jumlah memori yang rendah dan disk laptop yang biasanya lambat mungkin membatasi Anda. Anda mungkin juga menggunakan pengaturan default untuk MySQL, yang dirancang untuk bekerja pada komputer yang sangat tua.
-
Saya tidak akan merekomendasikan menggunakan
TEXT
tipe data untuk setiap kolom. Tidak ada alasan Anda membutuhkanTEXT
untuk sebagian besar kolom tersebut. -
Jangan membuat indeks di setiap kolom, terutama jika Anda bersikeras menggunakan
TEXT
tipe data. Anda bahkan tidak dapat mengindeksTEXT
kolom kecuali Anda menentukan indeks awalan . Secara umum, pilih indeks untuk mendukung kueri tertentu.
Anda mungkin memiliki banyak pertanyaan lain berdasarkan hal di atas, tetapi ada terlalu banyak untuk dibahas dalam satu posting StackOverflow. Anda mungkin ingin mengikuti pelatihan atau membaca buku jika Anda akan bekerja dengan database.
Saya sarankan MySQL Kinerja Tinggi, Edisi ke-2
.
Kembali pertanyaan tindak lanjut Anda:
Untuk penyetelan MySQL, inilah tempat yang baik untuk memulai:http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/
Banyak operasi ALTER TABLE menyebabkan restrukturisasi tabel, yang berarti pada dasarnya mengunci tabel, membuat salinan seluruh tabel dengan perubahan yang diterapkan, lalu mengganti nama tabel baru dan lama dan menghapus tabel lama. Jika meja sangat besar, ini bisa memakan waktu lama.
Tipe data TEXT dapat menyimpan hingga 64KB, yang berlebihan untuk nomor telepon atau negara bagian. Saya akan menggunakan CHAR (10) untuk nomor telepon AS yang khas. Saya akan menggunakan CHAR(2) untuk negara bagian AS. Secara umum, gunakan tipe data paling ringkas dan hemat yang mendukung rentang data yang Anda perlukan dalam kolom tertentu.