我在从日志表中加载数据时遇到问题。我正在尝试在具有字符串的列上过滤表。以下是我正在使用的语句。我最多可以在 4 周前提取数据,但是当我尝试提取更多历史数据时,它会超时。我已将时间延长到 600 秒,但仍然犯了同样的错误。所以我认为有更好的方法来表达我的陈述吗?
此外,如果可能的话,我希望根据值获得最新的时间戳
提前谢谢你。 乔
select
dl.user_id,
dl.timestamp,
dl.value,
dl.operation,
concat(concat(un.first_name, ' '), un.last_name) AS "User" ,
from data_log dl
where dl.timestamp >= date '2019-12-01' and dl.operation = 'update' and dl.values like
'%"date_time"%'
对于此查询:
select dl.user_id, dl.timestamp, dl.value, dl.operation,
concat(concat(un.first_name, ' '),
un.last_name) AS "User"
from data_log dl
where dl.timestamp >= date '2019-12-01' and
dl.operation = 'update' and
dl.values like '%"date_time"%';
你想要一个索引data_log(operation, timestamp, values)
. 这可能有助于解决性能问题。