ホームページ >データベース >mysql チュートリアル >DateTime 値から日付を抽出する最も効率的な SQL Server 方法は何ですか?

DateTime 値から日付を抽出する最も効率的な SQL Server 方法は何ですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-13 08:29:43245ブラウズ

What's the Most Efficient SQL Server Method to Extract the Date from a DateTime Value?

SQL Server の日時値から日付を効率的に抽出する最良の方法

MS SQL 2000 または 2005 では、「2008-09-25 12:34:56」のような日時値の場合、「2008-09-25」のみを含む日時値を取得する最も効率的な方法は、議論の話題。さまざまな方法が提案されていますが、総合的に分析すると次のような結果が得られます。

テスト環境と方法:

パフォーマンスの比較は、ミリ秒精度のタイムスタンプを含む大きなテーブルを含むテスト サーバー (MS SQL Server 2005) で実行されました。このテーブルは 2.5 年以上にわたっており、1 億 3,000 万件のレコードが含まれており、最初の 100 万件のレコードが分析用に選択されています。

評価用のクエリ:

    純粋な SELECT ステートメント
  • float 変換 (CAST(FLOOR(CAST(CRETS AS FLOAT)) AS DATETIME))
  • 文字列変換 (CONVERT(DATETIME, CONVERT(VARCHAR(10), CRETS, 120), 120))
  • DATEADD 変換 (DATEADD(DAY, DATEDIFF(DAY, 0, CRETS), 0))

結果:

CPU 時間 (ミリ秒):

    純粋な SELECT ステートメント: 422
  • float-float 変換: 625
  • 文字列変換: 1953
  • DATEADD 変換: 531

結論:

floor-float メソッドが最速であるというこれまでの主張に反して、この特定のシナリオでは

DATEADD 変換 が最も効率的なメソッドであることが判明しました。

注: これらの結果は、特定のサーバー構成とデータセットの特性に基づいて異なる可能性があることに注意することが重要です。

以上がDateTime 値から日付を抽出する最も効率的な SQL Server 方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。