Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 数据库索引可以跨表吗?I';我是博士后_Sql_Ruby On Rails_Indexing - Fatal编程技术网

Sql 数据库索引可以跨表吗?I';我是博士后

Sql 数据库索引可以跨表吗?I';我是博士后,sql,ruby-on-rails,indexing,Sql,Ruby On Rails,Indexing,是否可以创建一个索引,其中一个列的值来自另一个表 例如: model Pet primary_key id foreign_key Species end model Species primary_key id int genus end 假设物种种类很多,属的种类较少。我想在Pets表上按属创建一个索引。能做到吗 如果是这样的话,如果您能为我指出在Rails迁移中如何做到这一点的正确方向,我将不胜感激。否。在任何关系数据库技术中,“索引”是指表的索引。您可以将这两者结合起来

是否可以创建一个索引,其中一个列的值来自另一个表

例如:

model Pet
  primary_key id
  foreign_key Species
end
model Species
  primary_key id
  int genus
end
假设物种种类很多,属的种类较少。我想在Pets表上按属创建一个索引。能做到吗


如果是这样的话,如果您能为我指出在Rails迁移中如何做到这一点的正确方向,我将不胜感激。

否。在任何关系数据库技术中,“索引”是指表的索引。您可以将这两者结合起来,如下所示:

ANIMAL_CLASS + name + id + LEVEL + parent_id 动物类 +名字 +身份证 +水平仪 +家长id
其中level逻辑上是{种,属,…}的枚举

我不知道postgres,但我认为这是不可能的。你可以通过使用物种FK来创建索引,但这对你没有帮助,因为真正的属列应该是属表的FK。不完全是。Oracle支持位图联接索引,即为子表上父表的属性编制索引。它旨在消除星型转换查询中星型/雪花型模式的IO。因此,在这种情况下,甲骨文可以在宠物表中对物种、属进行索引,因为每只宠物最多有一个属。