Saya pikir membuat tabel lain "memilih" lebih baik. Hubungan antara pengguna dan suara adalah n ke n, oleh karena itu tabel baru harus dibuat. Seharusnya seperti ini:
question id (int) | user id (int) | permanent (bool) | timestamp (datetime)
Bidang permanen dapat digunakan untuk membuat suara tetap setelah waktu tertentu, seperti halnya SO.
Bidang lain dapat ditambahkan sesuai dengan fitur yang diinginkan. Karena setiap baris akan membutuhkan setidaknya 16B, Anda dapat memiliki hingga 250 juta baris di tabel sebelum tabel menggunakan 4GB (batas FAT32 jika ada satu arsip per tabel, yang berlaku untuk MyISAM dan InnoDB).
Juga, seperti yang ditunjukkan Matthew Scharley dalam komentar, jangan memuat semua suara sekaligus ke dalam memori (seperti mengambil semua tabel dalam hasil). Anda selalu dapat menggunakan klausa LIMIT untuk mempersempit hasil kueri Anda.