博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
索引效率分析
阅读量:4129 次
发布时间:2019-05-25

本文共 812 字,大约阅读时间需要 2 分钟。

   

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

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

 

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

 

1.       表设计

    

 

2.       建立索引

    

    

                

3.       添加索引列

 

 

 

当然我们也可以使用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)  如果不建立索引

    

 

 

            

 

详细信息:

 

 

 

2)  建立索引后:

 

    

 

 

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

你可能感兴趣的文章
python中的元编程
查看>>
从无到有的学习JavaScript——第一篇(基础篇)
查看>>
从无到有的学习JavaScript——第二篇(运算符)
查看>>
从无到有的学习JavaScript———第三篇(流程控制语句)
查看>>
从无到有的学习JavaScript——第四篇(函数)
查看>>
让你少走弯路的MySQL中rank()、row_number()、dense_rank()排序
查看>>
Linux 标准IO和管道
查看>>
文本三剑客之grep和正则表达式
查看>>
运维之用户、组和权限
查看>>
文本处理三剑客之sed
查看>>
linux文件压缩
查看>>
linux中rpm包、yum包和dnf包管理
查看>>
从无到有的学习JavaScript之对象模型——第五篇
查看>>
从无到有的学习JavaScript——第六篇(解构、数组操作、对象操作)
查看>>
从无到有的学习javascript——第七篇(Promise)
查看>>
大数据挖掘——认识数据
查看>>
大数据挖掘——数据预处理
查看>>
React基础——组件状态state、属性props
查看>>
React——组件的生命周期
查看>>
React之函数式组件和高阶组件(装饰器、带参装饰器)
查看>>