我正在关注一个在线数据库课程,并且我收到了这个问题。应该创建什么索引?
假设我有表USER,CHECKIN和PLACE。
USER(uid,uname,ucity),uid是主键。
PLACE(pid,pname,pxcoord,pycoord,pcity),pid是主键。
CHECKIN(uid,pid,cdate,ctime),(uid,cdate,ctime)是主键。
该查询
select c.uid, c.pid c.cdate
from user u join checkin c join place p
where ucity='NewYork' and pcity='Chicago'
只允许建立两个索引结构,什么是最好的选择,为什么?
看起来像一个对我无效的查询。为什么我们需要无条件加入? – Basilevs
@Basilevs - 查询在MySQL中有效。它可能不会达到目的。 http://stackoverflow.com/questions/16470942/can-i-use-mysql-join-without-on-condition –
这就是我的意思。城市,访问和用户的笛卡尔积? – Basilevs