0
A
回答
6
你期望有很多重复的字符串吗?如果不是,那么正常化将不会产生任何结果。如果是的话,那么你拥有的重复就越多,索引变得越不有效。 (因为具有相同索引的所有项目必须检索)
如果你的数据库引擎支持它,你可以简单地设置字符串作为一个聚集索引,在这种情况下,相似的字符串将被储存在彼此。
而且如果你已经有两个列的索引,并比较两者,您收到的指数的全部好处。
1
这实际上听起来很容易测试。
你可以设置表两种方式,产生的100,000个随机行,运行对阵双方一些查询,看看哪个更快。
2
如果您确实需要字符串值,那么答案是否定的。
比较一个数据库中的字符串是不是比较一个int,然后查找从INT字符串便宜。
至于字符串的重复,你有更多的重复,那么你就需要,如果他们非规范化的存储空间更少。但它仍然会变慢。
如果您正在寻找在存储性能,然后用字符串,整数PK坚持。
0
如果您使用的是Oracle,您不妨探讨使之成为一个索引组织表COMPRESS 1
指定压缩到使关键 压缩,从而消除重复 索引组织表中的主键列 值的发生。使用 整数指定前缀长度, 这是要压缩的前缀列数 。
0
指标进行快速搜索可能的。但是请记住,如果数据库知道所有最重要的字段,则只能使用该索引。例如,如果你有一个索引:
int, string
则数据库可以使用索引来搜索一个int,或者用于int和字符串的组合。但它不能用它来搜索一个字符串。
如果创建两个单独的索引:
index 1: int
index 2: string
则数据库可以有效地为int和/或搜索字符串。
您是否对表格进行规范化并不重要。规范化通常会减慢搜索速度,因为它会强制查找不同的表。
1
该表已标准化。
将字符串更改为int不是进一步的规范化。
这可能看起来很挑剔,但“正常化”这个词已经被过度使用到了它变得毫无意义的地步。
相关问题
- 1. 这个数据库是否需要标准化?
- 2. 标准化这张表是否更快?
- 3. HTTPs上是否需要OAuth(2-legged)
- 4. 是否需要Java序列化
- 5. Base64是否标准化?
- 6. Shebang(#!)是否标准化?
- 7. 这是否需要动态表单?
- 8. 是否需要在头文件中定义初始化列表?
- 9. 在这种情况下是否需要执行标准构造函数(Java)?
- 10. 是否有需要启用异常的C++ 11标准库接口列表?
- 11. 在这种情况下需要帮助,什么是标准?
- 12. 这个表达式是否需要优化?
- 13. 这是否需要同步?
- 14. 这里是否需要htmlspecialchars?
- 15. 我需要标准化数据Scikit
- 16. 表单标签 - 是否需要在ajax网站上?
- 17. 是否可以格式化标准java列表输出?
- 18. Java标准化列表
- 19. 您是否需要在Hibernate表的@id列上创建索引
- 20. 在嵌套列表上是否需要最小宽度?
- 21. .mousemove和记忆,我是否需要优化这个与否?
- 22. 是否需要在这里使用ThreadLocal?
- 23. Threadstatic标志是否需要?
- 24. APNS是否需要用户批准?
- 25. ibeacon是否需要校准阶段?
- 26. 在Python中实现`__dir__`:是否需要返回一个列表,并且列表是否需要排序?
- 27. 在SQL表中标准化一列
- 28. 在列表中标准化名称(python)
- 29. C++标准是否需要二进制机器?
- 30. 批量标准是否需要恒定的批量大小?
如何设置为聚簇索引? – zsharp 2009-04-16 04:54:14