我有一个这样的查询:
select * from table1,table2 where table2.table1id = table1.id;
table2.table1id 是指向 table1 中相应条目的外键。table1 和 table2 有主键,都称为 id。
table2 也是二级索引,叫做 myindex。这是我的问题。在测试过程中,
Microsoft SQL Server 想要使用 table2 (id) 的主键,并且正在扫描 table1 表以查找匹配的 id 以在内部执行连接,而不是直接使用“table1id”索引。
我知道我可以使用提示来制定我的查询来告诉 SQL 直接使用辅助键。
以下是我的问题:
- 这是必要的还是他们设置数据库索引的方法,以便不需要提示。
这目前是用嵌入在我的 Java 程序中的直接 SQL 编写的。如果我进入休眠模式,休眠模式会自动为我生成提示吗?
项目清单