別のテーブルを「投票」する方が良いと思います。ユーザーと投票の関係はnからnであるため、新しいテーブルを作成する必要があります。次のようになります:
question id (int) | user id (int) | permanent (bool) | timestamp (datetime)
パーマネントフィールドは、SOと同様に、一定時間後に投票を維持するために使用できます。
他のフィールドは、必要な機能に応じて追加できます。各行には少なくとも16Bかかるため、最大2億5,000万行を含めることができます。テーブルの前のテーブルは4GBを使用します(テーブルごとに1つのアーカイブがある場合はfat32の制限。これはMyISAMとInnoDBの場合です)。
また、Matthew Scharleyがコメントで指摘しているように、すべての投票を一度にロードしないでください。メモリに(結果セット内のすべてのテーブルをフェッチするように)。いつでもLIMIT句を使用して、クエリ結果を絞り込むことができます。