R: dbplyr: postgres: 如何在表上创建索引

use*_*rJT 5 postgresql r dbplyr

用户有一个大表(3+ 十亿行)。为了加快接下来几个月的查询速度,必须在远程数据库上创建索引。

假设有一个名为的连接conn- 创建索引并使其在与数据库断开连接后持续存在的最佳方法是什么。

例如,

library(DBI)
sql<-'CREATE INDEX idx_pmid ON medcit  (pmid ASC);'
dbExecute(conn,sql)
dbDisconnect(conn)
Run Code Online (Sandbox Code Playgroud)

上面的代码似乎有效,但是如何以某种方式验证索引(确保它确实存在并加快未来的查询速度)?换句话说 - 用户如何检查索引的存在?另外,我是否需要以某种方式发出 COMMIT 命令?

Bas*_*era 0

要在表上创建索引:

dbGetQuery(conn, "CREATE INDEX index_name ON public.db_name USING btree (variable_name)")
Run Code Online (Sandbox Code Playgroud)