`
yangyou230
  • 浏览: 1651048 次
文章分类
社区版块
存档分类

索引效率分析

 
阅读更多

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

在设计lms数据库的时候,因为所有的凭据(Identification)均是存放在saas数据库中的,lms中是没有user这张用户表的。在设计的时候,每个表均要增加标识字段(即服务提供商编号、公司编号),以便能实现同样一个平台,可以有很多公司使用。

面对如此复杂、庞大的用户群,就必须考虑查询优化,这时,在表中建立索引就显得尤其必要。

通过林春的讲解,使用Power Designer设计好表的相关信息,包含主外键以及索引;使用SQL Server2005,对表Notify分别建立与取消索引,查看执行计划,分析效率。

1. 表设计

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 157.5pt; HEIGHT: 80.25pt" type="#_x0000_t75"><imagedata o:title="表设计" src="file:///C:/DOCUME~1/CHAICH~1.ASU/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.jpg"></imagedata></shape>

2. 建立索引

<shape id="_x0000_i1026" style="WIDTH: 390.75pt; HEIGHT: 305.25pt" type="#_x0000_t75"><imagedata o:title="建立索引" src="file:///C:/DOCUME~1/CHAICH~1.ASU/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.jpg"></imagedata></shape>

3. 添加索引列

<shape id="_x0000_i1027" style="WIDTH: 390.75pt; HEIGHT: 279.75pt" type="#_x0000_t75"><imagedata o:title="添加索引列" src="file:///C:/DOCUME~1/CHAICH~1.ASU/LOCALS~1/Temp/msohtmlclip1/01/clip_image003.jpg"></imagedata></shape>

当然我们也可以使用SQL语句创建索引:

Create index IX_CreateDate on [lms-Notify](

CreateDate asc

)

删除索引:

Drop index [lms-Notify].IX_CreateDate

4. 执行SQL查询:

结合实际情况,我们有可能会做这样的查询:查询某服务提供商服务的某公司的通知,按照通知创建时间降序排列:

SELECT [ID]

,[ServiceProviderID]

,[CompanyID]

,[Title]

,[Content]

,[CreatedDate]

,[LastUpdate]

FROM [myOlat].[dbo].[lms-Notify]

where [ServiceProviderID]='HPM0YMXXQ53X0PO8CC05KFVOFA3UI6IW'

and [CompanyID]='O 1QB4VRRMX90YA8ILV9G76SQ DS0 AT'

order by [CreatedDate] desc

5. 效率分析

1) 如果不建立索引

<shape id="_x0000_i1028" style="WIDTH: 414.75pt; HEIGHT: 140.25pt" type="#_x0000_t75"><imagedata o:title="未建索引" src="file:///C:/DOCUME~1/CHAICH~1.ASU/LOCALS~1/Temp/msohtmlclip1/01/clip_image004.jpg"></imagedata></shape>

详细信息:

<shape id="_x0000_i1029" style="WIDTH: 321.75pt; HEIGHT: 291.75pt" type="#_x0000_t75"><imagedata o:title="详细信息" src="file:///C:/DOCUME~1/CHAICH~1.ASU/LOCALS~1/Temp/msohtmlclip1/01/clip_image006.jpg"></imagedata></shape>

2) 建立索引后:

通过测试分析,我们可以发现,设置合适的索引会给查询带来效率极大的改善。

<shape id="_x0000_i1030" style="WIDTH: 415.5pt; HEIGHT: 135.75pt" type="#_x0000_t75"><imagedata o:title="index exec" src="file:///C:/DOCUME~1/CHAICH~1.ASU/LOCALS~1/Temp/msohtmlclip1/01/clip_image007.jpg"></imagedata></shape>

分享到:
评论

相关推荐

    SQL Server索引效率分析.pdf

    SQL Server索引效率分析.pdf

    利用索引提高SQLServer数据处理效率

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

    MongoDB学习笔记(六) MongoDB索引用法和效率分析

    MongoDB中的索引其实类似于关系型数据库,都是为了提高查询和排序的效率的,并且实现原理也基本一致。由于集合中的键(字段)可以是普通数据类型,也可以是子文档。MongoDB可以在各种类型的键上创建索引。下面分别讲解...

    分析Mysql表读写、索引等操作的sql语句效率优化问题.doc

    分析Mysql表读写、索引等操作的sql语句效率优化问题

    论文研究-倒排链表多层自索引结构的分析与设计.pdf

    为了进一步缩短查询时间,通过对当前索引文件自索引结构的分析,设计了倒排链表的多层自索引结构。此结构以定长元组为单位,使用迭代的方法提取数据段同步点形成上层自索引;在此基础上,实现了索引压缩与查询系统。...

    深入解析MongoDB聚合与索引:提升数据库效能的关键策略

    此外,文章还介绍了索引对查询性能的影响,包括如何通过explain()方法分析查询和索引效率,以及覆盖查询和索引使用的最佳实践。本文旨在为开发者提供深入了解MongoDB聚合和索引的知识,助力优化数据库性能和查询效率...

    oracle索引分析说明

    详细介绍oracle数据库索引使用情况,索引存储原理

    分析Mysql表读写、索引等操作的sql语句效率优化问题

    上次我们说到mysql的一些sql查询方面的优化,包括查看explain执行计划,分析索引等等。今天我们分享一些 分析mysql表读写、索引等等操作的sql语句。 闲话不多说,直接上代码: 反映表的读写压力 SELECT file_name ...

    mysql查询不走索引及解决方法

    mysql查询,通过explain 分析,没有利用到索引,查询效率不高等出现的问题。

    论文研究-基于数据空间网格划分的PK树索引结构.pdf

    在大规模高维数据挖掘研究中,数据存储与索引方法的有效性是决定...试验结果表明,PK树在数据存储和索引上具有更高的效率,与网格化数据组织方法结合起来,对于降低大规模高维数据分析问题的时空复杂度具有重要意义。

    索引的基本操作与存储效率的体验

    根据实验3 创建的数据库及表,完成以下内容: (1) 创建和删除索引。 (2) 自己找一个较真实的含有较多记录的表,测试不使用索引和使用索引的效果。 ...Oracle 中影响数据存取效率的因素分析与体会。

    基于B+树的电力大数据混合索引设计分析

    针对大规模数据检索查询效率较低的问题,提出了基于B+树的电力大数据混合索引结构,使用层次化混合索引思想,划分数据集中...分析结果表明,该文所设计基于B+树的数据混合索引方法能够满足用户实际需求,提高索引效率。

    关于MongoDB谨防索引seek的效率问题详析

    最近线上的一个工单分析服务一直不大稳定,监控平台时不时发出数据库操作超时的告警。 运维兄弟沟通后,发现在每天凌晨1点都会出现若干次的业务操作失败,而数据库监控上并没有发现明显的异常。 在该分析服务的...

    论文研究-基于Huffman树的密文索引构建方案.pdf

    为实现安全高效的云端数据密文检索,提出基于Huffman树的密文索引构建及检索方案。将Huffman树型结构及其...通过实验测试和性能对比分析可得出结论:方案在保证密文和索引信息安全性的同时,可以提高密文检索的效率。

    详解SQL Server表和索引存储结构

    本文详细分析了SQL Server中表和索引结构存储的原理,以及对于如何加快搜索速度和提高效率等方面做了详细的分析。

    论文研究-位图连接索引服务机制研究.pdf

    位图连接索引是数据仓库中一种有效...实验测试结果表明,索引服务机制能够有效地提高索引存储和访问效率,在通用GPU的强大并行处理能力的支持下,位图连接索引服务的性能和数据库整体查询处理性能都得到了显著的提升。

    一种有效的混合空间索引机制

    论文结合网格索引和R树索引的特点。提出了一种基于粗分网格和聚类R树的混合索引方案(H ...论文还对HSIBGR索引机制进行了理论分析和实验验证,结果表明HSIBGR索 减少存储开销,提高检索效率.具有良好的性能。

    Oracle Spatial空间索引 解析

    分析的效率;第三者以前两者为基础,提供相应的查询和分析算 子函数,第四者主要负责数据的管理,以前三者为基础,其中数据 库的效率由前两者决定。 Oracle Spatial将空间数据和属性数据结合起来管理也带来了 相应的...

    论文研究-一种新的P2P空间矢量数据索引网络的研究.pdf

    针对当前P2PGIS研究在多尺度、多图层空间矢量数据索引方面的不足,从应用实际出发,提出了一种新的P2P空间矢量数据索引网络。...原型系统性能测试结果表明,该索引网络能有效地减少网络负担,提高空间索引的效率。

Global site tag (gtag.js) - Google Analytics