我需要检查(可能)大型数据库(数百万条记录)中的特定记录是否存在。
我可以选择用以下方式唯一标识记录:
- 2 个整数(例如:231321 和 312309)
- 1 个 float (两个整数的组合。示例:231321.312309)
- 1 个字符串(两个整数的组合。示例:'231321@312309')
这三个选项中的一个是否比其他选项更好?
谢谢!
最佳答案
使用 2 个整数。
理由:
- 根据实际整数范围,您可能无法存储 2 个整数 在一个没有精度损失的 float 中。
- 字符串只是浪费空间。
- 对于 float 和字符串,如果需要的话,您将无法对第二个整数进行索引(因此无法有效地搜索)。
- 此外,关于 atomicity 也存在哲学争论。违反它实际上违反了第一范式。
关于mysql - 在 MySQL : string vs float vs 2 ids 中检索唯一记录的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9147527/