【发布时间】:2018-04-09 18:53:46
【问题描述】:
一个用户有一个大表(超过 3 亿行)。 为了加快接下来几个月的查询速度,必须在远程数据库上创建索引。
假设有一个名为 conn 的连接 - 创建索引并使其在与数据库断开连接后持续存在的最佳方法是什么。
例如,
library(DBI)
sql<-'CREATE INDEX idx_pmid ON medcit (pmid ASC);'
dbExecute(conn,sql)
dbDisconnect(conn)
上面的代码似乎可以工作,但如何才能以某种方式验证索引(确保它确实存在并加快未来的查询)?换句话说 - 用户如何检查索引的存在?另外,我需要以某种方式发出 COMMIT 命令吗?
【问题讨论】:
-
你说的“已验证”是什么意思?索引的存在和维护可以查看wiki.postgresql.org/wiki/Index_Maintenance。
-
创建一个索引并使其在与数据库断开连接后保持存在 ...为什么不将索引保存在 Postgres 表中 once 应该的一直在设计架构?
-
为什么要在 R 的应用层而不是 Postgres 的数据库表层创建索引?
-
@Parfait 因为 R 是我的通用脚本语言,可以满足我的所有需求,而单个客户端可以满足我的项目需求。
-
@userJT 你找到解决办法了吗?
标签: r postgresql dbplyr