今天有人跟我说,在mssql-2005里面,bigint的索引比varchar(20)的索引快。
由于我不是很了解mssql,特来发问,求解答!
(同一个字段,就设计成bigint类型或设计成varchar类型有不同的见解)-------------------------------------------------
我之前是用Oracle的,之前的项目,4千w的数据表,走varchar的索引都没觉得慢过。。(该字段varchar类型,是个key)
由于我不是很了解mssql,特来发问,求解答!
(同一个字段,就设计成bigint类型或设计成varchar类型有不同的见解)-------------------------------------------------
我之前是用Oracle的,之前的项目,4千w的数据表,走varchar的索引都没觉得慢过。。(该字段varchar类型,是个key)
解决方案 »
- 请教一个自学问题
- 关于Exec sp_executesql 的问题,那位大侠帮忙找下错误
- select for xml
- 求助全文检索 服务器: 消息 7609,级别 17,状态 2,过程 sp_fulltext_database,行 46
- 请问如何做系统升级,也就是如果要给之前发布给用户的数据库新增表,列,INDEX,TRIGGER,STORE PROCEDURE等等,但又不能删除用户以前的数据,请
- sql 2005 日志 改为“不限制增长”改不了,怎么回事?
- 请教数据库的入门书籍?谢谢!
- 数据库日志
- sql中读取xml的问题........................................................
- 请教一条SQL语句的写法
- SQL Server 调用存储过程导入数据问题
- SSAS中年月的问题
如果存的数据是1-99999999
那么varchar(20)不一定会比bigint慢。bigint始终占8字节,而varchar(20)则是从1至8字节,在存储上varchar(20)占用page更少。
有字母的当然只能用varchar了................orz
我感觉这设计真的是一塌糊涂我又是新来的员工,不好说什么。
这个字段主要是存放什么数据? 如果99%都是数值,那考虑bigint的为好.如若不然,还是保值原来的设计的吧,不要瞎折疼。
我现在活都停下了,等讨论完这个东西才开工。不然真的瞎搞。另外公司有2张表,一张是标题表,一张是内容表。
他们做的时候居然不做关联,页面展示标题的地方只直接从标题表查,不关联内容表。结果
就是由于数据质量原因,有些标题点进去后是空的(对应的内容表没记录)我问为什么不关联,他们说关联了性能慢。。我很奇怪两张表,一个主外键的关联也会慢
(千w级别数据表)我现在都怀疑是我不行还是这里不行真他妈迷茫了