我有一个只有两个字段的表,id1和i2。
两者都是来自其他表的ID,并且是int(10)。
我应该在这张桌子上有索引吗?
编辑:我在想的是这个表由两种简单的数据类型组成...... MySQL会不会比索引数据更有效地查询非索引数据?
有问题的表将具有更多读取而不是写入,并且不会经常查询,因此索引可以很好。
答案 0 :(得分:0)
如果这是一个大表(即由许多行组成),那么将用作查询一部分的列的索引可能是个好主意。此外,如果表很少更新并经常用作关联表,则一个或多个索引可能会大大加快涉及表的连接速度。
表中的两列引用主键的事实并不排除对索引的需要。考虑涉及关联表的公共连接方案,例如:
表1 JOIN RelatorTable JOIN Table2
在该表中的外键上创建RelatorTable的索引可能是个好主意,该外键引用Table1的主键。这可能会加快连接速度,特别是如果RelatorTable很大的话。
答案 1 :(得分:-2)
SQL数据库中的索引与书中的索引非常相似,而不是通过书中的内容来查找您要查找的内容,而是使用索引,然后跳转到确切的页面。但在你的情况下,你的表不包含数据,只是对存储在其他表中的数据的引用,所以我个人并不真正看到这里需要索引。在这种情况下,id字段字段可以简单地用作索引。