• 索引


    一个表上可建多个索引。

    索引可以提高查询效率,但索引过多耗费空间,且降低了插入、删除、更新的效率

    较适合常用"select比较多"的表

    索引相当于一个目录
    加快你查询的
    只不过是一个虚拟的,对用户来说是透明看不到的

    CREATE INDEX index_name
    ON table_name (column_name)

    在良好的数据库设计基础上,能有效地使用索引是SQL Server取得高性能的基础,SQL Server采用基于代价的优化模型,它对每一个提交的有关表的查询,决定是否使用索引或用哪一个索引。

    因为查询执行的大部分开销是磁盘I/O,使用索引 提高性能的一个主要目标是避免全表扫描,因为全表扫描需要从磁盘上读表的每一个数据页,如果有索引指向数据值,则查询只需读几次磁盘就可以了。

    所以如果建 立了合理的索引,优化器就能利用索引加速数据的查询过程。

    但是,索引并不总是提高系统的性能,在增、删、改操作中索引的存在会增加一定的工作量,因此,在 适当的地方增加适当的索引并从不合理的地方删除次优的索引,将有助于优化那些性能较差的SQL Server应用。

    实践表明,合理的索引设计是建立在对各种查询的分析和预测上的,只有正确地使索引与程序结合起来,才能产生最佳的优化方案。本文就 SQL Server索引的性能问题进行了一些分析和实践。

    比如:

    建索引主要是用于提高检索数据的速度.
    如果你有一个表(表名假设叫Table1)有一个字段名称是Name,记录有100000行.
    有如下的查询语句:select * from Table1 where Name='zhangshan'
    在没有针对Name创建索引的时候,这个查询会相当慢,到少比创建了索引后慢好几倍.这就是索引的好处之一.
    你并不知道你用了它,只能从查询速度上感觉出来.

  • 相关阅读:
    CentOS 7.0关闭默认防火墙启用iptables防火墙
    Linux下安装jdk1.8
    Linux下的tar压缩解压缩命令详解
    centos7上安装redis
    通过克隆虚拟机来创建多个虚拟机
    深度学习的网络资料
    在ubuntu中添加widows启动项的简单方法
    循环神经网络RNN的基本介绍
    统计学习——随机过程
    spark机制理解(一)
  • 原文地址:https://www.cnblogs.com/smallfa/p/1358866.html
Copyright © 2020-2023  润新知