关于sqlserver建立索引的常见问题

索引:类似于一本书的目录,合理使用索引,在一定程度上是可以加快数据处理速度最普遍的优化方法, 前提是你的sql语句本身已经优化加工过.
1.首先说下sqlserver的索引类型
     唯一索引(UNIQUE INDEX): 由系统自动创建唯一约束,不允许其中任意两行具有相同索引值,只能对定义为NOT NULL的列创建唯一索引
    主键索引(PRAMARY KEY INDEX):创建主键则自动创建主键索引(主键中的每个值必须是唯一的)
     聚集索引(CLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序相同,表中只能包含一个聚集索引,主键列默认为聚集索引
    非聚集索引(NONCLUSTERED):表中各行的物理顺序与键值的逻辑(索引)顺序不匹配,表中可以有249个非聚集索引
2.使用索引就一定会使查询变快吗?
   NONONO,索引的使用也是有前提条件的,
   区分条件:
     1> 根据表数据大小创建索引
        小数据量的表不需要创建索引,因为索引查询开销也是很大的,维护起来也比较麻烦.
        大数据量的表需要考虑一下两个方面:
        #1 表的使用频率,不常用的表不需要建立索引
        #2 查询的数据量大小,如果查询量很小就不需要建立索引
     2> 根据列的特征建立索引
        #1是否是频繁查询列
        #2是否频繁被分组排序(GROUP BY , ORDER BY)
        #3是否是外键列

3.一张表索引越多,查询速度就越快?
       当然不会,一张表建立多少索引合适,还取决于这张表的属性,是否属于频繁更新的表,如果一张表记录不怎么更新,那么索引的建立会提高数据库的查询性能,相反,经常被更新记录的表,如果索引过多,则会影响该表的更新速度,所以必须限制索引数量,只在必要的字段上加上索引即可.

 

小小总结:并非所有场景都适合创建索引,索引是有索引文件的,实际工作中应该按实际情况合理创建使用索引

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 SQL Server维护 1 适用人员: 2 一、 SQL Server安装 4 SQL 2000安装 4 检查SQL Server 2000版本 20 SQL 2005 安装 20 SQL 2005配置 32 检查SQL Server2005版本 34 SQL 2008(包括 SQL 2008R2)安装 35 SQL 2008配置 45 检查SQL Server 2008版本 45 Windows 2008中安装SQL 2008 46 常见问题 49 安装过程中提示有文件或进程挂起 49 使用windows账号可以登录,可是sa没法登陆 49 本地能连接上,其他电脑不能连接 52 安装过程中提示性能计数器错误 52 二、 SQL Server卸载 54 SQL 2000卸载 54 SQL 2005 卸载 55 SQL 2008卸载 56 三、 更改SQL Server排序规则 56 SQL 2000 排序规则修改 56 SQL 2005 排序规则修改 58 SQL 2008 排序规则修改 58 四、 备份与还原数据库 59 SQL 2000备份数据库 59 SQL 2000还原数据库 62 SQL 2005/2008 备份数据库 65 SQL 2005/2008 还原数据库 68 五、 附加与分离数据库 74 SQL 2000附加数据库 75 SQL 2000分离数据库 76 SQL 2005/2008附加数据库 77 SQL 2005/2008分离数据库 81 六、 建立维护计划为服务器加速 83 SQL 2000中建立维护计划优化系统 83 SQL 2005或SQL 2008种建立维护计划优化系统 88 1、自行创建维护计划 88 2、运用维护计划向导创建维护计划 91 3、各维护计划任务选项的说明 101 4、手动删除维护计划 107 七、 启用AWE或者3GB为服务器加速 108 判断采用AWE还是3GB 108 AWE方式确定SQL Server占用的内存大小 108 3GB开启方式 108 在SQL 2000 中开启AWE 111 在SQL 2005或SQL 2008中开启AWE 113 八、 日志清除 116 各版本数据库清除语句 116 SQL 2000、SQL 2005清除语句 116 SQL 2008清除语句 116 通过重建数据库彻底解决问题(还没实践过,慎用) 116 九、 索引维护 117 SQL 2000索引维护 117 SQL 2005/2008索引维护 121 十、 触发器管理 125 触发器查询语句 125 触发器管理语句 126 触发器管理工具 126 十一、 利用SQL Server导入导出数据 127 SQL 2000数据导入导出 127 SQL 2005/2008数据导入导出 133 十二、 SQL跟踪器的使用 144 易飞6.0特殊设置 144 SQL 2000跟踪器的使用 145 SQL 2005/2008跟踪器的使用 150 十三、 数据库异常检测以及简单修复 154 1. SQL Server数据库为什么易损坏呢? 154 2 预防措施 154 3. 其他的一些常用的修复命令 154 1. DBCC CHECKDB 154 2. DBCC CHECKTABLE 155 4.数据库日志损坏的修复 155 5. 数据库质疑的一般处理 156 6.还原数据库到指定时间点 156

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值