たとえば、開始日と終了日に基づいて結合する必要があるテーブルがいくつかあります...
SELECT *
FROM [t1]
JOIN [t2]
ON [t2].[start] BETWEEN [t1].[start] AND [t1].[stop]
OR [t2].[stop] BETWEEN [t1].[start] AND [t1].[stop]
OR [t2].[start] < [t1].[start] and [t2].[stop] > [t1].[stop]
これらのテーブルは、数百万行になる可能性があります。
開始/停止をdatetime2および/またはbigint(エポックからのナノ秒)として保存するオプションがあります。このオプションを指定すると、インデックスが作成された場合、bigint を使用することでパフォーマンスが向上しますか?
どちらのアプローチにも長所/短所はありますか?
整数アプローチの方が速いと思います-