sql – 创建索引所需的最小行数是多少?
发布时间:2020-12-12 06:37:59 所属栏目:MsSql教程 来源:网络整理
导读:我创建了脚本来查找所有表的每列的选择性.在一些行少于100行的表中,列的选择性超过50%. 选择性=不同的值/总行数.这些列是否有资格获得索引?或者,您能告诉我创建索引的行数的最低要求吗? 解决方法 你可以索引任何列 – 问题是它是否有意义以及是否将使用该
我创建了脚本来查找所有表的每列的选择性.在一些行少于100行的表中,列的选择性超过50%.
选择性=不同的值/总行数.这些列是否有资格获得索引?或者,您能告诉我创建索引的行数的最低要求吗? 解决方法你可以索引任何列 – 问题是它是否有意义以及是否将使用该索引….通常,选择性小于1-5%可能有效 – 百分比越小越好.最好的是大群体中的单个值,例如一个单一的客户ID数十万 – 肯定会使用这些指数. 诸如性别(仅2个值)或仅具有非常有限数量的可能值的其他事物通常在索引上不能很好地工作.至少在他们自己的位置 – 这些列可能可以作为第二列或第三列包含在另一个索引中. 但实际上,找出索引是否有意义的唯一方法是 >之前测量您的查询 关于什么时候使用(或忽略)索引没有黄金法则 – 太多的变量会影响到这个决定. 有关如何处理索引的专家建议,以及如何找出哪些索引可能无法使用,以及何时创建索引是有意义的,请参阅Kimberly Tripp的博客文章: > Spring cleaning your indices (part 1) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 在Excel中的VBA中从SQL Server捕获错误消息
- .Net 四层框架浅析
- sqlserver 2005 分布式架构 对等事务复制
- 哪里可以获得西班牙语数据库< - >英语翻译?
- sql-server-2008 – 存储过程中的表类型参数导致操作数类型
- SQL Server 参数化查询之where in和like实现分析
- 数据类型int、bigint、smallint 和 tinyint范围(sqlserver)
- sqlserver2005中恢复xp_cmdshell的方法
- SQL Server误区30日谈 第17天 有关页校验和的误区
- 使用distinct在mysql中查询多条不重复记录值的解决办法