SQLServer数据库查询优化的常用方法总结

SQLServer数据库查询优化的常用方法总结,第1张

SQLServer数据库查询优化的常用方法总结,第2张

SQL Server数据库查询优化常用方法概述;

在本文中,abigale代表查询字符串,ada代表数据表名,alice代表字段名。

技能1:

类型:当ACCESS数据库字段包含日语片假名或其他未知字符时,查询将提示内存溢出。

解决方法:修改查询语句。

SQL = " select * from ada where Alice like ' % " & abigale & " ' "

代替

sql="select * from ada "

RS . filter = " Alice like“%”& abigale &“%”"

技能二:

问题:如何用简单的方式实现类似百度的多关键词查询(多关键词之间用空格子或其他符号隔开)。

解决方法:

//用空格拆分查询字符串

ck=split(abigale," ")

//获取拆分数量

sck =欠载(ck)

sql="select * ada where "

字段中的查询

对于i = 0至sck

SQL = SQL & tempJoinWord & "(" & _

"爱丽丝喜欢' " &ck(i)& " ')"

tempJoinWord = " and "

然后

同时在两个字段中查询。

对于i = 0至sck

SQL = SQL & tempJoinWord & "(" & _

"爱丽丝喜欢" &ck(i)& " '或" & _

" alice1 like '"&ck(i)& " ')"

tempJoinabigale = " and "

技巧3:提高查询效率的几个技巧

1.尽量不要用或。使用or会造成全表扫描,大大降低查询效率。

2.实践证明,charindex()并不能比在前面加% like更能提高查询效率,而且charindex()会使索引变得无用(参考sqlserver数据库)

3.像“%”& Abigale &“%”这样的Alice会让索引没用。

像' " &abigale& " '将使索引工作(删除前面的%符号)

(指sqlserver数据库)

4.查询中“%”& Abigale &“%”和“”& Abigale &“%”之间的区别:

例如,您的字段显示:斯卡伯勒集市。

“%”& abigale &“%”:匹配所有字符串,无论“bazaar”或“ska”都显示结果。

& abigale &“%”:仅匹配前面的字符串。比如查“芭莎”,没有结果。只有查找“ska”才会显示结果。

5.字段选择应以“你需要多少,你就需要多少”为原则,避免“选择*”,使用“选择字段1、字段2、字段3”实践证明,每抽取一个字段,数据抽取速度就会相应提高。提升的速度取决于你丢弃的字段的大小。

6.按聚集索引列的排序效率排序。一个sqlserver数据表只能建立一个聚集索引,默认值为ID,也可以更改为其他字段。

7.为您的表建立一个合适的索引。建立索引可以将查询速度提高几十倍甚至几百倍。(指sqlserver数据库)

下面是索引和非索引之间的查询效率分析:

Sqlserver索引和查询效率分析。

餐桌新闻

领域

Id:自动编号

标题:文章的标题

作者:作者

内容:内容

星号:优先级

添加:时间

记录:一百万

测试机器:P4 2.8/1G内存/IDE硬盘

选项1:

主键Id,默认为聚集索引,不建立其他非聚集索引。

从标题为“%”& abigale &“%”的新闻中选择*

或者像“%”& abigale &“%”这样的作者,按Id desc排序

标题和作者字段的模糊检索,按Id排序

查询时间:50秒

选项2:

主键Id,默认为聚集索引

建立标题、作者和星号的非聚集索引

从标题为“&abigale&”的新闻中选择*

或者像“& abigale &“%”这样的作者按Id desc排序

标题和作者字段的模糊检索,按Id排序

查询时间:2-2.5秒

选项3:

主键Id,默认为聚集索引

建立标题、作者和星号的非聚集索引

从标题为“&abigale&”的新闻中选择*

或者像由明星desc排序' " &abigale& " '这样的作者

标题和作者字段的模糊检索,按星号排序

查询时间:2秒

选项4:

主键Id,默认为聚集索引

建立标题、作者和星号的非聚集索引

从标题为“& abigale &“%”或作者为“& abigale &“%”的新闻中选择*

标题和作者字段的模糊检索,无序查询时间:1.8-2秒

选项5:

主键Id,默认为聚集索引

建立标题、作者和星号的非聚集索引

从标题为“&abigale&”的新闻中选择*

或者

Select * from news,其中从字段Title或Author中检索Author like' "& Abigale &"% ",查询时间为1秒。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » SQLServer数据库查询优化的常用方法总结

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情