zoukankan      html  css  js  c++  java
  • 索引

    一个表上可建多个索引。

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

    较适合常用"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创建索引的时候,这个查询会相当慢,到少比创建了索引后慢好几倍.这就是索引的好处之一.
    你并不知道你用了它,只能从查询速度上感觉出来.

  • 相关阅读:
    Selenium学习之==>常见面试题
    Selenium学习之==>Switch与SelectApi接口详解
    Selenium学习之==>ActionChainsApi接口详解
    Selenium学习之==>WebDriverApi接口详解
    Selenium学习之==>三种等待方式
    Selenium学习之==>18种定位方式的使用
    avaScript 的基础学习(一)
    前端基础之CSS
    Http协议
    前端基础之html
  • 原文地址:https://www.cnblogs.com/smallfa/p/1358866.html
Copyright © 2011-2022 走看看