Can you create an index on a foreign table?(外部表可以创建索引吗?)

简介: 来自google搜索的一段回答No, you will get an error:ERROR: cannot create index on foreign table "tablename"********** Error **********ERROR: cannot create...

来自google搜索的一段回答

No, you will get an error:

ERROR:  cannot create index on foreign table "tablename"
********** Error **********

ERROR: cannot create index on foreign table "tablename"
SQL state: 42809

And it makes sense as the query will "travel" througth the net and retrieve the data from the original database each time you query the table (will not store data to index).

What you can do is to use explain verbose to get the query that is being execute on the other side , and index the remote table accordingly .

explain verbose select * from schema.foreign_table

"Foreign Scan on schema.foreign_table  (cost=25.00..1025.00 rows=1000 width=84)"
"  Output: field1, field2, field3
"  Remote server startup cost: 25"
"  Remote query: SELECT field1, field2, field3 FROM schema.original_table

Hope that helps. Good luck!

相关文章
|
26天前
|
前端开发
`<table>`
【10月更文挑战第17天】
37 1
|
4月前
|
SQL Oracle 关系型数据库
CREATE TABLE 时的 SQL FOREIGN KEY 约束
【7月更文挑战第24天】CREATE TABLE 时的 SQL FOREIGN KEY 约束。
50 5
|
4月前
|
SQL Oracle 关系型数据库
CREATE TABLE 时的 SQL PRIMARY KEY 约束
【7月更文挑战第24天】CREATE TABLE 时的 SQL PRIMARY KEY 约束。
42 2
|
6月前
|
分布式计算 MaxCompute 开发工具
在MaxCompute中,使用`CREATE TEMPORARY TABLE`语句创建的临时表
【2月更文挑战第18天】在MaxCompute中,使用`CREATE TEMPORARY TABLE`语句创建的临时表
278 3
|
6月前
|
存储 SQL 关系型数据库
CREATE TABLE语句
在MySQL中,使用CREATE TABLE语句来创建表。你需要指定表名和列的定义,包括列名、数据类型以及约束等,结合实际存储和上一课学习的数据类型选取合适的。创建一个book_types表
211 0
|
SQL 存储 关系型数据库
PostgreSQL 动态表复制(CREATE TABLE AS & CREATE TABLE LIKE)
PostgreSQL 动态表复制(CREATE TABLE AS & CREATE TABLE LIKE)
|
SQL 数据库
CREATE TABLE 语句
CREATE TABLE 语句
127 1
|
SQL Oracle 关系型数据库
SQL FOREIGN KEY Constraint on CREATE TABLE
SQL FOREIGN KEY Constraint on CREATE TABLE
88 1
|
自然语言处理 安全 数据库
Miniob drop table 实现解析 | 学习笔记
快速学习 Miniob drop table 实现解析
Miniob drop table 实现解析 | 学习笔记
|
SQL HIVE
HIVE: create table 与 create external table 区别
HIVE: create table 与 create external table 区别