sql >> データベース >  >> RDS >> Sqlserver

SQL Serverで日時フィルタリングのパフォーマンスを向上させる方法は?

    msqlの日時のインデックスに関する単なる提案は、インデックスのフットプリントが検索時間に影響を与えることです(はい、これは明らかなようです...しかし、先に読んでください)。

    日時にインデックスを作成する場合のこれの重要性は、たとえば「2015-06-05 22:47:20.102」と言うと、インデックスは日時内のすべての場所を考慮に入れる必要があります。これは、空間的に非常に大きくなり、かさばります。私が活用した成功したアプローチは、新しい日時列を作成し、時間を時間に丸めてデータを入力し、この新しい列にインデックスを作成することです。例「2015-06-0522:47:20.102」は「2015-06-0522:00:00.000」に変換されます。このアプローチを採用することで、詳細データをそのままにして表示したり、この新しい列を検索して使用したりできます。これにより、結果が返される速度の約10倍(最小)の結果が得られます。これは、インデックスが分、秒、ミリ秒のフィールドを考慮する必要がないためです。



    1. グループごとの最大値

    2. SQLServerデータベースでT-SQLを使用してすべてのテーブルのすべてのインデックスを再構築する3つの方法

    3. MySQLでのUUIDパフォーマンス?

    4. 高速テストのためにPostgreSQLを最適化する