为以下查询创建索引

时间:2018-04-04 00:02:29

标签: sql oracle indexing

SELECT Vehicle_ID, RENTAL_ID

FROM Vehicle, Rental

WHERE Vehicle.VEHICLE_ID = RENTAL.RENTAL_ID;

租赁ID和车辆ID是2个不同表格中的主键。

我该怎么做?我是单独创建2个唯一索引,然后是非唯一的吗?或者有没有办法结合这个?

谢谢你!

2 个答案:

答案 0 :(得分:0)

这是对问题的原始版本的回答。

您应该使用显式JOIN语法编写查询并使用表别名:

SELECT c.Name, p.Purchase_Date, p.QUANTITY
FROM CUSTOMER c JOIN
     PURCHASE p
     ON c.CUSTOMER_ID = p.CUSTOMER_ID;

此查询所需的唯一附加索引是purchase(customer_id)

答案 1 :(得分:0)

您可以为外键添加非群集索引,即Purchase表中的Customer_ID。

然后按如下方式实现连接:

SELECT c.Name,p.Purchase_Date,p.QUANTITY 来自客户c 加入PURCHASE p 在c.CUSTOMER_ID = p.CUSTOMER_ID