zoukankan      html  css  js  c++  java
  • 索引笔记


    1.什么是索引?

        索引是以表列为基础的数据库对象,保存着表中排序的索引列,并且记录了索引列在表中的物理存储位置,实现了表中数据的逻辑排序。

    2.索引的用途?

        1)加快数据的查询速度,减少系统的响应时间。

        2)加快表和表之间的连接速度。

    3.使用索引的代价?

        1)一定的物理空间开销。

        2)创建和维护需要消耗时间,增删改操作时,索引会进行维护。

    4.索引使用的原则?

        1)设为主键的列一定要设置为索引,可以加快主键的定位速度。

        2)定义有外键的列一定要设为索引,可以加快表之间的连接速度。

        3)对于经常查询的列最好建立索引,可以明显加快查询的速度。

        4)对于数据重复严重的列,查询很少涉及的列,不要建立索引。

        5)对于text,image,bit类型的列不要建立索引,这些列要不很大要不太小。

    5.索引分类?

        索引主要分成三类,聚集索引,非聚集索引,唯一索引。

        1)聚集索引:只会对表和视图进行物理排序。一个表或者视图只能有一个聚集索引,一般为主键列。

        2)非聚集索引:不会对表和视图进行物理排序,表或者视图最多只能有250个非聚集索引。

        3)唯一索引:不允许索引有重复的索引值,

    6.索引的建立和删除。

        1)索引的建立: create  unique [clustered]  index  ix_bookid on book (bookid Asc)

        注意事项:可以为聚集和非聚集索引建立unique索引。

        2)索引是删除:drop index book.ix_bookid

        注意事项:无法删除unique和primary key 约束的索引,除非先删除这些约束。

    7.索引的相关操作?

        1)显示索引信息:exec sp_helpindex  students

        2)重命名索引: exec sp_rename students.ix_bookid,students.ix_id

        3)分析索引:主要采用两种方式,查看查询计划,和查询磁盘读取次数。

        4)索引的维护:主要采用

            1,统计信息更新 update statistics students lx_id

            2,dbcc showcontig(students,ix_id)扫描表

            3,使用dbcc indexdefrag(stu,students,ix_id)进行碎片整理。

        

  • 相关阅读:
    南阳33(蛇形填数)规律题;
    南阳241(字母统计)
    南阳57(6174问题)
    android图形基础知识
    Linux中yum手动安装、手动建立仓库文件夹关联实现关联包自动安装、yum相关命令使用
    debug连线指令
    Qt之信号连接,你Out了吗?
    hdu-4607-Park Visit
    MySQL 分区表 partition线上修改分区字段,后续进一步学习partition (1)
    如何用正则将多个空格看成一个空格结合spllit()方法将文本数据入库
  • 原文地址:https://www.cnblogs.com/snidget/p/2312276.html
Copyright © 2011-2022 走看看