zoukankan      html  css  js  c++  java
  • 索引

    全表扫描:对数据进行检索效率最差的是全表扫描,就是一条一条的找。
    聚集索引
    索引的顺序与磁盘存储的顺序对应
    所以只能有一个聚集索引,否则磁盘存储的顺序就无法确定了
    
    
    非聚集索引
    索引的顺序与磁盘的存储顺序不对应
    逻辑顺序与物理顺序不一致
    
    
    索引意味着排序,排序后则可更高效的查询,但是因为索引也是占据空间的,
    而且添加、更新、删除数据的时候也需要同步更新索引,
    降低了插入和更新的效率
    
    
    
    依赖聚集索引不然就依赖磁盘存储的顺序
    
    
    填充引子 便于后期数据的插入,而不会改动过多的数据
    每页预留8kb,其实数据并存的数据并没有8kb,但便于后期的数据的插入
    逻辑读取:从缓存中读取数据。
    物理读取:从磁盘中读取数据
    预读取:一种性能优化机制,在执行查询时先预测执行“查询计划”所需的数据
    和索引页,然后在查询实际使用这些页之前将它们读入缓冲高速缓存。
    -----------索引演示-------------
    --1.打开统计信息:查询→查询选项→高级→SET STATISTICS TIME、SET STATISTICS IO
    --2.打开“实际的执行计划”或“估计的执行计划”。
    select c3,c4 from TestIndex1002 where c4>800 and c4<1000 order by c4 asc
    
    --建立索引 (因为查询的时候是在c3,c4上建查询,而且查询中对c4排序,而在c4上建立索引就有了排序了)
    create clustered index  IXc4 On TestIndex1002(c4)--建立索引之后再执行以上查询语句,就快速多了
    
    --当遇到排序、区间查询的时候,聚集索引可以大大提高性能。
    --(如果为一个表建索引,建议先建一个聚集索引,然后再建其他索引。)
    
    --将where条件变为c3='backuplsnparamorhinttext',再测试select c3,c4 from TestIndex1002 where c3='backuplsnparamorhinttext',
    --虽然有一个聚集索引但是这个查询的where条件并没有充分利用该索引的优点,索引性能提升并不大。
    select c3,c4 from TestIndex1002 where c3='backuplsnparamorhinttext'
    
    create nonclustered index IXc3 on TestIndex1002(c3)--这时候查询的效率就大大提高了
    --模糊查询,还是会对表全表扫描,
    select c3,c4 from TestIndex1002 where c3='%backupls%'
    --优化查询
    select c3,c4 from TestIndex1002 where c3='backupls%'
    
    ------------
    --删除索引
    drop index  TestIndex1002. IXc4
    
    --下面为 工具——数据库引擎顾问生成的代码  (将sql代码放进数据库中)
    CREATE NONCLUSTERED INDEX [_dta_index_TestIndex1002_11_1781581385__K4_3] ON [dbo].[TestIndex1002] 
    (
        [c4] ASC
    )
    INCLUDE ( [c3]) WITH (SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY]
  • 相关阅读:
    单点登录原理与简单实现
    关系型数据库中的关键字、主关键字和候选关键字
    无向图的顶点连通度
    memcmp()直接比较两个数组的大小
    静态字典树
    动态字典树
    poj 1149
    poj 2112 floyd+Dinic最大流+二分最小值
    POJ 1698 (二分图的多重匹配)
    网络流算法
  • 原文地址:https://www.cnblogs.com/tobecabbage/p/3570150.html
Copyright © 2011-2022 走看看