“尽可能压缩关键字的长度”这句话怎么理解? 在学习“UNIQUE约束”的时候,看到这样一句话:“尽可能压缩关键字的长度。主键的列或者UNIQUE列很可能被连接和频繁地查询。紧凑的关键字长度允许有更多的索引项放入给定的8KB页面里,从而减少I/O,增加缓存命中率,加快字符匹配速度。”这句话不明白是什么意思?这里的关键字指的是什么?是索引的名称?还是其他的什么?请大家帮忙解答,谢谢^_^ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这里的关键字指的是主键里面的列。主键里面的列越短,每次I/O读到的记录自然就更多,放到内存里面的数量也就更多,速度才能提高。否则就要多次I/O才能读到需要的记录。I/O操作是最慢的,自然是越少越好。 “主键里面的列”是指主键含有的列是吗?------------------------------------是。也就是说,尽量只对一个列设置主键,不要针对多列定义联合主键。是这样理解的吗?------------------------------------能一个列最好,但主要是要短。几个列也可以的,总长度短就比较好。比如,能用smallint就不要用int,能用varchar(10)就不要用nvarchar(10)等等。 繁简汉字的UNICODE编码 查询指定日期最低出价问题 求SQL,关于删除重复值的 SQL server 2000开发版和企业版有什么区别?SQL Server2005又是什么咚咚?糊涂啊! 高分请教,在线等! 请大家看看有什么解决办法 请问SQL2005下LINKED SERVER PROVIDER为何没MS MS SQL SERVER OLEDB FOR ODBC驱动程序选择? 关于insert带参数的问题! 求教 根据聚合函数,怎样得到编号呢? ODBC高手请进 按照时间生成字符串 请问update的问题!~~~
主键里面的列越短,每次I/O读到的记录自然就更多,放到内存里面的数量也就更多,速度才能提高。
否则就要多次I/O才能读到需要的记录。
I/O操作是最慢的,自然是越少越好。
------------------------------------
是。
也就是说,尽量只对一个列设置主键,不要针对多列定义联合主键。是这样理解的吗?
------------------------------------
能一个列最好,但主要是要短。几个列也可以的,总长度短就比较好。
比如,能用smallint就不要用int,能用varchar(10)就不要用nvarchar(10)等等。