美文网首页数据库知识
sqlserver中的索引

sqlserver中的索引

作者: itming | 来源:发表于2020-01-27 14:28 被阅读0次

索引:
数据库优化之一索引
聚集索引:把数据有序的摆放,物理排序,sqlserver中的字段如果是自增的,会默认加一个聚集索引。
非聚集索引:类似于偏旁部首找字,查找快,快速定位,直达目标。
不影响数据的物理排序,会存储数据的位置和数据。
查找快,但是有维护索引的成本。非聚集索引可以有多个。

  建立索引的原则和建议:
    1.主键最好建立索引(数值主键,性能最高)
    2.外键列也要索引
    3.经常查询的建立索引
    4.经常在where里面
    5.order by/group by/distinct
    6.聚合运算/where条件时,先索引字段
    7重复值比较多的不要索引(sex/state)
    8.text/image不要索引
    9.索引太多了不好。
    
    sqlserver中的执行计划:
         数据库制定执行计划时按照使用资源最少,而不是时间最短。
如何查看sql语句是否有用到索引,查看执行计划:
    1.Table Scan 全表扫描,性能最差
    2.Cluster Index Scan 虽然有聚集索引,其实也是全表扫描
    3.Index Seek(NonClustered) 性能非常高,非聚集索引查找
    4.Index Scan(NonClustered) 先index,再扫描
    5.Cluster Index Seek 聚集索引的查找(性能最高)
     
scan都是全表扫描的,性能比较差。
    一般出了问题,看看执行计划,找出scan,然后换索引。
    
    如果数据量上亿了,索引已经没什么效果了,这个时候考虑分库分表了。

相关文章

  • sqlserver中的索引

    索引:数据库优化之一索引聚集索引:把数据有序的摆放,物理排序,sqlserver中的字段如果是自增的,会默认加一个...

  • 2018年9月17日.NET笔试面试题

    说一下 SQLServer 中索引的两种类型。聚簇(或者叫做聚集,cluster)索引和非聚簇索引。字典的拼音目录...

  • sqlserver索引

    SQL中的索引分为两种,一种为聚集索引和非聚集索引,下面介绍两者的异同。 一、聚集索引与非聚集索引: 1、聚集索引...

  • 索引包含列和书签查找

    一、索引包含列和书签查找 1、索引包含列   SqlServer2005开始增加的“索引包含列”功能,很实用。 比...

  • SQL基础2:mysql 、sqlserver、oracle创建

    目录:一、MYSQL二、Sqlserver三、ORACLE四、索引作用 前言:如果你阅读这篇文章只想找创建索引的语...

  • Sqlserver存储过程如何写循环

    Sqlserver循环游标写法存储过程中循环的写法Sqlserver各种循环写法Sqlserver自带的while...

  • MySQL、SQLServer聚集索引与非聚集索引的总结

    一.索引简介 众所周知,索引是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,SQL的主流索引结构有B+...

  • sql index knowledge & tune

    1、默认情况下,每当在一个查询的where子句中使用非索引属性列时,sqlserver会自动地创建统计值,统计名称...

  • sqlserver添加修改字段注释

    1、sqlserver添加表解释 举个例子 2、sqlserver添加字段解释 举个例子 3、sqlserver修...

  • SQLServer 链接Mysql

    在SqlServer中做链接服务器,和本地数据库操作相似,方便性大家都懂的。 1、在SqlServer服务器上下载...

网友评论

    本文标题:sqlserver中的索引

    本文链接:https://www.haomeiwen.com/subject/qzcethtx.html