申し訳ありません。ここに私の問題がある。私は数値の値を持つテーブル(Pythonで)を持っています(例えば、{3:1,3:2,3:3})。私はこの変数の永続ストレージとしてデータベースを使用したいのですが(メモリに完全に収まらないので)、できるだけ速くしようとします。2つの列を互いにユニークにすることはできますか?
現在、私はmysqlで1つのカラム(インデックス付き)を使用しており、辞書の各エントリは独自の行を取得しています。私はCHARカラムではなくINTの2つのカラムを使用すると読み書きを高速化できるかどうかを調べたいと思っていましたが、どちらのカラムも互いにユニークである必要があります。上記の例では、すべてのデータが一意であり、別の3 = 1を追加すると、既存の値が上書きされますが、3 = 4は新しいエントリを作成します。どうすればmysqlでそれを複製できますか?
スピードアップについての私の論理は理にかなっていますか、2つの列の選択は実際に1つの列よりも高価になりますか?
私はこれを最初から構築していますので、既存のソリューションで作業する必要はありません。私は非常に柔軟なアプローチをとることができます。
ありがとうございます!
複合主キーをお探しですか? – Asdfg
私は、 'varchar'を2つの' ints'に分割することを提案します...パフォーマンス上の理由ではなく[適切な正規化](http://en.wikipedia.org/wiki/Database_normalization)。まず、動作させる - 2番目に、それを正しくする - 最後に、それを速くすることを心配してください。 –
@Asdfg私はそう思う、今は私は1つの列しかないので、私はそれを分割できるかどうかを見たいと思う。 @マイケル私はそれをショットしようとしています。今は既に動作していますが、mysqlの方が速いので、別のアプローチをテストして、以前の結果と比較してベンチマークしています(結果が同じであることを確認してください)。 – Lostsoul