すべてが内部でどのように機能するかはわかりませんが、状況に応じて、d1からすべての値を「ロールアウト」し、そのテーブルに参加するテーブルを試してみることをお勧めします。このようにして、クエリエンジンは、探している値に一致する境界の組み合わせを見つける必要がなく、適切なレコードを「正確に」特定できます。
例:
x value
a 1
a 2
a 3
b 5
b 6
b 7
b 8
b 9
b 10
b 11
c 19 etc..
値列(**)にインデックスがある場合、これは、元のd1テーブルIMHOの開始と終了の間で結合するよりもかなり高速であるはずです。
もちろん、d1に変更を加えるたびに、ロールアウトされたテーブルも調整する必要があります(トリガー?)。これが頻繁に発生する場合は、最初に得たよりも、ロールアウトされたテーブルの更新に多くの時間を費やすことになります。さらに、間隔の一部が非常に大きい場合、これにはかなりの(ディスク)スペースがすぐにかかる可能性があります。また、これは、整数以外の数値を探す必要がないことを前提としています(たとえば、値3.14を探す場合はどうなりますか?)
(ここで(value、x)で一意のものを試すことを検討してください...)