2017-08-15 20 views
1

何百万というレコードからヌルフィールドを検索しようとしているクエリがあります。 1つか2つしかありません。インデックスを使用してヌルフィールドを効率的に見つける方法

クエリは次のようになります。

SELECT * 
FROM “table” 
WHERE “id” = $1 
AND “end_time” IS NULL 
ORDER BY “start_time” DESC LIMIT 1 

は、どのように私は、データベース内のインデックスを使用して、例えばこのクエリはよりパフォーマンスすることができます。

+1

は、私は 'idを持つ部分的に複合インデックスを信じている部分インデックス –

答えて

1

は部分インデックスを試してみてください、のようななめらか:

create index iname on "table" (id, start_time) where end_time is null; 
+1

を試し、start_time'もソート –

+0

ああを助けるために良くなる - のstart_timeと!はい、むちゃくちゃ感覚です - ありがとう。もう一度:) OPにend_timeに複数のnullがある場合 - ソートstart_timeは2行に長くかかりません –

+0

これは私がやったことです。魅力的に働いた – JasonG

関連する問題