3

そのため、SQLデータベースに日付を保存しようとしていますが、最も効率的な方法がわかりません。私は2つの異なる方法を考えました。

第一に、人々は毎日一定の価格を設定できるようになります。

例えば:

2011年3月8日:$ 1

2011年3月9日:$ 2

2011年3月10日:$ 5

私のデータベースでは、UNIXタイムスタンプを保存するか、月、日、年を別々のフィールドに保存することを考えていました。

最初の方法:

UNIXタイムスタンプ

長所

  • 1つのフィールドのみ

短所

  • 日付をタイムスタンプに変換する必要があります
  • 開始日と終了日の間で検索する必要があります
  • 検索でエラーが発生しやすい

月日年

長所

  • 検索が簡単

短所

  • その他のフィールド
  • より多くのスペースを占める
  • 大量のデータを保存するため、データベースの速度が低下する可能性があります。

上記の情報で、あなたの推薦は何ですか?(これのいずれかが明確でないかどうかを明確にすることができます。)

4

3 に答える 3

9

タイムスタンプ/日時/日付フィールドはより効率的です(これらはすべて整数として格納されます)。
そのため、検索ははるかに高速です。
異なる日付形式間の変換にはわずかな(非常に)オーバーヘッドがありますが、日付フィールド(通常は...スマートではありません)で結合しない限り、問題は発生しません。これは1回だけ発生します。
エラーが発生しやすいのかわかりません。

于 2011-03-09T01:58:16.603 に答える
4

フィールドを使用してください、DATEそれが彼らの目的です。

于 2011-03-09T01:57:46.020 に答える
2

DATETIMEまたはDATE列タイプを使用できます-検索が簡単で1列だけで、日付範囲内で簡単に検索できます...

于 2011-03-09T01:57:15.943 に答える