回答
根据数据类型,是的,这确实让区别。
int
与tinyint
不会在速度上产生显着差异,但它会影响数据大小。假设tinyint
为1个字节,而int
为4,则每行保存3个字节。它在一段时间后加起来。
现在,如果它是int
而不是varchar
,那么会有一点下降,因为整数值比字符串值的排序要快得多。
如果它是一种可比较的类型,并且您对空间不太感兴趣,那么选择一个更简单,更强大的空间。
理论上,是的,tinyint比int更快。但良好的数据库设计和适当的索引对性能有更重大的影响,所以我总是使用int来简化设计。
更快的执行有助于
看看在本文这必将帮助你: http://www.peachpit.com/articles/article.aspx?p=30885&seqNum=7
选择正确的数据类型可以提高性能。在很多情况下,实际差异可能不会很大,但是不好的选择肯定会产生影响。想象一下,当你只是要存储一个由几个字符组成的字符串时,使用1000个字符的char字段而不是一个varchar字段。这是一个极端的例子,但使用varchar肯定会好很多。你可能永远不会注意到int和tinyint之间的性能差异。您的整体数据库设计(规格化表格,良好指数等)将产生更大的影响。
我敢打赌,在这种情况下没有实际的性能差异。存储空间是更重要的因素,但即使如此,它没有太大的差别。差别可能是2个字节?在500,000行之后,您几乎可以使用额外的兆字节。如果你正在处理那么多的数据,希望你不要捏兆字节。
性能考虑因素都取决于您的模型和使用的规模。虽然现代对存储空间的考虑几乎不是问题,但您可能需要考虑性能:
数据库引擎倾向于将数据存储在称为页面的块中。 Sql Server默认有8k页面,Oracle 2k和MySql 16k页面大小?对于任何这些系统来说都不是那么重要。每当你对一些数据(字段和行)执行操作时,它的整个页面都从数据库中获取并存入内存。当数据较小时(tiny int vs int),则可以将更多单独的行和数据项放入一个页面,因此不得不提取更多页面的可能性降低,整体性能提高。所以是的,使用尽可能最小的数据表示方式肯定会对性能产生影响,因为它允许数据库引擎更高效。
它可以影响性能的一种方法是不要求您将其转换为正确的类型来操作数据。当某人使用varchar作为实例而不是datetime数据类型时,这是真实的,然后必须将它们转换为日期数学。它也可以通过提供较小的记录来影响性能(这就是为什么您不应该定义最大大小的所有内容),这会影响页面在数据库中的存储和检索方式。
当然使用正确类型的数据也可以帮助数据完整性;您不能存储日期时间字段中不存在的日期,但可以在varchar字段中存储日期。如果你使用float而不是int,那么你的值并不局限于整数值等等。对于浮点数,如果你打算做数学计算,因为它不是一个确切的类型,所以通常使用不好。
- 1. 做数据类型选择会影响性能吗?
- 2. 数据库(最大)字段长度是否会影响性能?
- 3. 主键数据类型是否影响性能? SQL Server 2008
- 4. SQL中的隐式数据类型转换是否会影响性能?
- 5. 我的数据库正常化会否影响可伸缩性?
- 6. 数据类型大小对性能的影响
- 7. 数据库中的列排序是否影响性能?
- 8. 什么是Redis数据库索引对性能的影响
- 9. 向数据库添加许多视图是否影响性能?
- 10. 选择数据库类型
- 11. Access数据库中的子数据表属性对性能的影响
- 12. 列号是否确实不影响数据库性能,但行数是否确实如此?
- 13. 数据库性能和数据类型
- 14. 选择正确的数据库索引类型
- 15. 帮助选择正确的数据库类型
- 16. 非关系型数据库,哪一个是正确的选择
- 17. Windows性能计数器是否会影响性能?
- 18. 数据库字段名称长度对性能的影响?
- 19. 在Java函数内部或外部操作数据,是否会影响性能?
- 20. 操作系统漏洞是否会影响数据库安全?
- 21. TDE支持对数据库性能有什么影响?
- 22. 数据库正常化是否正确?
- 23. 是否用户ID数据类型影响FormsAuthentication.SetAuthCookie(UserId.ToString(),FALSE)?
- 24. 变量是否会影响性能?
- 25. Hows是否会影响性能?
- 26. $(this)是否会影响性能,如$([selector])?
- 27. 从数据库中删除数据是否影响存储数据的游标?
- 28. 数据库设计选择性能
- 29. Direct 3D影响数据类型double
- 30. 在兼容级别80中运行SQL Server 2005数据库是否会对性能产生负面影响?