1、本文以表pi_content为例,相应的字段为([piid] int, [seqnum] int,[phname] nvarchar(50),[content] nvarchar(MAX)),数据量为百万级。
我们提供的服务有:网站建设、成都网站设计、微信公众号开发、网站优化、网站认证、安塞ssl等。为成百上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的安塞网站制作公司
2、启动SQLSERVER 2008,并登录。
3、启动SQLSERVER PROFILER 工具,我们当前使用这个工具主要的目的是监测SQL语句执行的性能参数。
4、在SQLSERVER 2008 R2中点击“新建查询”按钮,启动查询分析器。输入SQL查询语句,并点击“执行”。
5、切换到SQLSERVER PROFILER工具中,可以看到这条SQL语句具体的用时。
6、切换到查询分析器,选中这条SQL语句,点击鼠标右键,然后点击菜单中的“在数据库引掣优化顾问中分析查询”。
7、点击左上角“连接”,然后在弹出的登录窗口中输入相关参数并点击“连接”。 就完成查询索引优化了。
收藏
问题反馈
索引
索引,使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。 在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。当表中有大量记录时,若要对表进行查询,第一种搜索信息方式是全表搜索,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作;第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。 索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引的方式与您使用书籍中的索引的方式很相似:它搜索索引以找到特定值,然后顺指针找到包含该值的行。 在数据库关系图中,可以在选定表的“索引/键”属性页中创建、编辑或删除每个索引类型。当保存索引所附加到的表,或保存该表所在的关系图时,索引将保存在数据库中。
用创建索引的语句:
CREATE[ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX索引名
ON {表名|视图名} (列名[ ASC | DESC ] [ ,...n ] )
认识SQLServer索引以及单列索引和多列索引的不同
千万级别数据表,单列索引和多列索引性能对比
由于Contact表存在多个(单列)索引,造成Delete ,update ,insert操作时需要花费大量的时间删除索引和重建索引。
通过把多个(单列)索引合并成一个(多列)索引后,测试得出Delete ,update ,insert操作时需要花费的时间大大缩短。
由于多个(单列)索引合并成一个(多列)索引,可能会对之前单列索引字段的查询性能有影响,做了对比测试。
索引是加快检索速度的方法,前提要数据量大。
索引分为:聚集索引、非聚集索引、唯一性索引
聚集索引:逻辑顺序和物理顺序一致,一张表只能有一个聚集索引,当创建主键的时候默认会创建聚集索引。
非聚集索引:逻辑顺序和物理顺序不一致。可以建很多个非聚集索引,通过create index 默认创建的索引是非聚集索引。
索引的准则:
1、排序的字段
2、经常要使用的字段