7
A
回答
4
1 - 指数,如果要查询它,它有足够的选择性。如果它是一个90%的数值相同的列,那就没有多少意义。
2 - 这不是问题,但我猜你想知道你是否应该。是的,如果你查询它并且符合上述标准。
0
总体性能
理论上/设计,你有一个合乎逻辑的模型,其中,比如,用户名是独一无二的。
但是,在执行时,您知道使用这种方法比使用作为索引更高效的替代“userid”列更昂贵(例如,重音,长度等)。说这个,无论如何你都会有一个名字索引,因为它应该是唯一的。
区别在于您使用此索引的位置:如果它在子表中作为外键列,这不是一个好主意。或者作为聚集索引。
作为没有FK的表的单个索引,那么它既不在这里也不在那里。
最后,我只是使用char/varchar来填充ISO语言或货币代码(DE,EN,GBP,CHF等)。但我的切断而变化,说实话......
4
- 广告1)是的,900个字节的限制,巨大的按键,大量的索引页,大量的I/O参与,效率低下的索引操作。结论:不要,除非你的
varchar
最多约50个字符。 - 广告2)同1
char
与varchar
之间的真正区别是固定的大小与可变大小(即char(100)
)总是在数据页100个字节,varchar(100)
最多需要100)
相关问题
- 1. ASP.NET MVC 3索引varchar列
- 2. VARCHAR列上的索引
- 3. SQL索引varchar
- 4. Varchar上的索引?
- 5. varchar不工作的索引列
- 6. 搜索VARCHAR列
- 7. 在MySQL中索引VARCHAR
- 8. DB2 varchar索引连接
- 9. 如何存储varchar索引?
- 10. 的MySQL VARCHAR索引长度
- 11. VARCHAR上的MySQL索引(1000)
- 12. 索引更改与varchar值
- 13. 对于char/varchar/text列,为什么该列的索引使搜索更快?
- 14. MySQL-InnoDB索引varchar或索引多个变种
- 15. MySQL减少varchar索引大小?
- 16. MS SQL Server 2005上的索引varchar
- 17. 数据库设计:索引Varchar
- 18. mysql在varchar上添加索引(500)
- 19. 索引VARCHAR处理,而不dublicating数据
- 20. 索引性能BigInt有VS的VarChar
- 21. Postgres不会从文本/ varchar列获取索引
- 22. MySQL上较小的VARCHAR列更适合索引?
- 23. 需要微调我的mysql查询有一个索引varchar列
- 24. 有什么办法将varchar列索引为日期时间?
- 25. VARCHAR列在mySql中是否有索引能力限制?
- 26. 唯一索引,varchar列和(空格)空格的行为
- 27. varchar和int列上的多重索引。但需要全文
- 28. 数据库性能:varchar索引与整数次序列
- 29. Postgres中的多个varchar列的最佳索引策略
- 30. 慢连接,索引没有在varchar列上使用
如果你可以支持现有的答案,或者有一些补充,请做到这一点。 – Costa 2010-11-07 09:44:54