SQLテーブルがIDで注文されていても、私のウェブサイトはDATEまでに投稿を表示します。 IDの順序はDATEの順序と必ずしも同じではないため、ORDER BY 'DATE'
でクエリを実行します。SQL - 主キー、クラスタードインデックス、自動インクリメント
SQL表の例:
----------------------------
| ID | DATE |
----------------------------
| 1 | 2011-10-20 00:00:00 |
| 2 | 2012-10-20 00:00:00 |
| 3 | 2010-10-20 00:00:00 |
| 4 | 2011-09-20 00:00:00 |
----------------------------
To query I use: SELECT * FROM `table` ORDER BY 'DATE';
私の質問:
クラスタ索引やテーブルの主キーは、DATE列だった場合は、クエリのパフォーマンスに利益をもたらすだろうか?
プライマリキーではない場合、ID列を自動インクリメントにすることはできますか?私が何をしたいか
は(DATEクラスタ索引または主キーを作ることによって、私は可能だと思うもの)できるだけ速くクエリを作るだけでなく、独自の自動を持つように各ポストを許可しています増分ID。私はDATEをプライマリキーにしようとしましたが、「オートコラムが1つしかなく、キーとして定義する必要があります」というエラーが表示されました。
'ORDER BY 'DATE''は、DATE列の値ではなく、定数文字列リテラルDATEでソートするため、結果を並べ替えません。カラム名に予約語を使用しているので、 '' 'やバッククォート(' table'で行ったやり方)を使用して引用符を付ける必要があります。 –