6
A
回答
3
可能是肯定的,除非
- 表有很少的行(< 1000)
- 的int的列有选择性较差
- 正在返回的表大比例(比如> 1% )
在这种情况下,表扫描可能会更有意义,优化器可能会选择做一个。在大多数情况下,索引无论如何不是非常有害的,但是您应该尝试一下并看到(在您的实验室中,使用类似于生产的数据集的生产级硬件)
2
是的。不管列的数据类型如何。如果您没有指定索引,则只要您在该列中搜索值,mysql就必须扫描整个表。
4
是的,任何列上的索引都可以使查询执行得更快,而不管数据类型如何。数据本身至关重要 - 如果系统中只有两个值,那么使用索引是没有意义的。
另外要注意的是:
- 索引的存在并不能确保这些信息将用于 - 表统计需要是当前的,但它确实取决于查询。
- MySQL也只允许每个SELECT一个索引,并且索引的空间有限(limit dependent on engine)。
+0
+1:额外的信息:) – shamittomar 2011-02-06 21:31:12
0
是的,索引上的全部要点是您可以通过primary key
创建它们或者通过添加indexy manualy。列的类型没有提及任何关于查询速度的信息。
0
是的,它必须被索引。如果索引tinyint
用作布尔值,则没有意义,因为此索引不够有选择性。
相关问题
- 1. MySQL多重索引类型?
- 2. 不能与类型的索引,下标类型“[INT]”的值“()”
- 3. mySQL数据类型 - int(11)
- 4. 将mysql索引到日期时间类型的列
- 5. MySQL:非主键列上的索引
- 6. 在MySQL中的BigInt列上索引
- 7. 会话列上的MySQL索引
- 8. 从mysql中的int列中获取设置位的索引
- 9. 基于INT列的最后一位数字的MySQL索引
- 10. MYSQL约哈希索引类型索引是忽略有时
- 11. 类型上的多个索引属性?
- 12. 不能使用'String!'类型的索引来标记'[Int:[String]]'类型的值
- 13. PHP/MySQL的unsigned int类型转换为签署在MySQL INT
- 14. 多列mysql索引
- 15. MYSQL多列索引
- 16. MySQL多列索引
- 17. WordPress的:在索引页上列出多个帖子类型
- 18. 自引用索引类型
- 19. 全文索引类型列为空
- 20. MySQL的多列索引
- 21. 不能用类型为(String,Int)的索引来下标类型为[(String,Int)]的值Swift 2
- 22. VARCHAR上的MySQL索引(1000)
- 23. 图像索引的类型
- 24. Oracle中索引的类型?
- 25. varchar和int列上的多重索引。但需要全文
- 26. 无法更新mysql中的int类型列表
- 27. 为什么MySql将INT类型的列视为LONG?
- 28. 类型错误:“类型”对象未在列表索引标化
- 29. 的MySQL索引搜索多列
- 30. 类型不能用作索引类型
也许不是布尔值就我而言知情。例如。看到这个:http://stackoverflow.com/questions/10524651/is-there-any-performance-gain-in-indexing-a-boolean-field – dennis 2015-02-02 10:11:38