Я бы не ожидал заметной разницы в производительности в зависимости от того, является ли тип столбца timestamp
или integer
. Как прокомментировал a_horse_with_no_name, временная метка в любом случае внутренне сохраняется как целое число.
Важное замечание: с точки зрения производительности вы хотите использовать необработанные данные напрямую, без применения каких-либо преобразований.
Предикат, использующий функции, делает запрос не-SARGable, что означает, что база данных не может использовать индекс, даже если он доступен:
extract(epoch from t1.timestamp) = extract(epoch from t2.timestamp)
Вместо этого вы хотите использовать значения столбца напрямую:
t1.timestamp = t2.timestamp