Oavsett hur många index du har skapat på relation, kommer bara ett av dem att användas i en viss fråga (vilket beror på fråga, statistik etc). Så i ditt fall skulle du inte få en kumulativ fördel av att skapa två enstaka kolumnindex. För att få ut mesta möjliga prestanda från index skulle jag föreslå att du använder sammansatt index på (plats, tidsstämpel).
Observera att frågor som ... WHERE timestamp BETWEEN smth AND smth
kommer inte att använda indexet ovan medan frågor som ... WHERE location = 'smth'
eller ... WHERE location = 'smth' AND timestamp BETWEEN smth AND smth
kommer. Det beror på att det första attributet i index är avgörande för sökning och sortering.
Glöm inte att uppträda
ANALYZE;
efter att index skapats för att samla in statistik.
Uppdatering: Som @MondKin nämns i kommentarer vissa frågor kan faktiskt använda flera index på samma relation. Fråga till exempel med OR
satser som a = 123 OR b = 456
(förutsatt att det finns index för båda kolumnerna). I det här fallet skulle postgres utföra bitmappsindexsökningar för båda indexen, bygga en förening av resulterande bitmappar och använda den för bitmappshögavsökning. Under vissa förhållanden kan samma schema användas för AND
frågor men istället för union skulle det finnas en korsning.