当前位置: 首页 > 科技观察

优化SQLServer数据库查询技巧

时间:2023-03-13 00:24:39 科技观察

SQLServer数据库查询技巧1:问题类型:当ACCESS数据库字段包含日文片假名或其他未知字符时,查询会提示内存溢出。解决方法:修改查询语句sql="select*fromadawherealicelike'%"&abigale&"%'"为sql="select*fromada"rs.filter="alicelike'%"&abigale&"%'"SQLServer数据库查询技巧二:题型:如何简单实现类似百度的多关键词查询(多关键词之间用空格或其他符号分隔)。解决方法:'//用空格拆分查询字符串ck=split(abigale,"")'//得到拆分数量sck=UBound(ck)sql="select*adawhere"QueryForiinonefield=0TosckSQL=SQL&tempJoinWord&"("&_"alicelike'"&ck(i)&"%')"tempJoinWord="and"NextFori=0TosckSQL=SQL&tempJoinWord&"("&_"alicelike'"&ck(i)&"%'or"&_"alice1like'"&ck(i)&"%')"tempJoinabigale="and"下SQLServer数据库查询技巧三:提高查询的几种技巧效率1、尽量不要使用or,使用or会造成全表扫描,会大大降低查询效率。2、经过实践验证,charindex()并不比像以前加%更能提高查询效率,而且charindex()会使索引无用(指sqlserver数据库)3、alicelike'%"&abigale&"%'会让索引不工作像'"&abigale&"%'会让索引工作(去掉前面的%符号)(指sqlserver数据库)#p#4.'%"&abigale&"%'和'"&abigale&"%'inquery区别:比如你的字段内容是:ScarboroughMarket'%"&abigale&"%':所有字符串都会被通配,无论勾选"bazaar"还是"ska"都会显示结果.'"&abigale&"%':只通配前面的字符串,比如搜索“bazaar”没有结果,只有搜索“ska”才会显示结果。5、字段提取要遵循“你需要多少,你需要多少”的原则,避免“选择*”,尽量使用“选择字段1、字段2、字段3……”。实践证明:每少提取一个字段,数据提取速度就会相应提高。改进的速度取决于您丢弃的字段的大小。6.Orderby排序效率按聚簇索引列***。一张sqlserver数据表只能创建一个聚簇索引,一般默认是id,也可以改成其他字段。7.为您的表创建一个合适的索引。建立索引可以将您的查询速度提高几十倍或数百倍。(指的是sqlserver数据库)下面是建立索引和不建立索引的查询效率分析:SQLServer建立索引和查询效率分析。表新闻字段Id:自动编号标题:文章标题作者:作者内容:内容星级:优先添加时间:时间记录:100万条测试机:P42.8/1G内存/IDE硬盘方案一:主键Id,默认为a聚集索引,不建其他非聚集索引select*fromNewswhereTitlelike'%"&abigale&"%'orAuthorlike'%"&abigale&"%'orderbyIddesc从字段Title和Author中模糊检索,排序依据Id查询时间:50秒方案二:主键Id,默认为聚簇索引在Title、Author、Star上创建非聚簇索引select*fromNewswhereTitlelike'"&abigale&"%'orAuthorlike'"&abigale&"%'orderbyIddescfrom在Title和Author字段中进行模糊检索,按Id排序查询时间:2-2.5秒方案三:主键Id,默认为聚簇索引在Title上创建非聚簇索引,作者和明星从新闻中选择*,其中标题如“&abigale&”%'或作者如“&abigale&”%'按明星顺序排序从Title和Author字段模糊检索,按Star排序查询时间:2秒方案4:主键Id,默认在Title、Author、Star上建立聚簇索引非聚簇索引select*fromNewswhereTitlelike'"&abigale&"%'orAuthorlike'"&abigale&"%'从Title和Author字段中模糊检索,不排序查询时间:1.8-2秒方案5:主键Id,默认在Title、Author、Author上创建非聚集索引,和Star用于聚集索引select*fromNewswhereTitlelike'"&abigale&"%'orselect*fromNewswhereAuthorlike'"&abigale&"%'从Title或Author字段中检索,不排序查询时间:1秒【编者推荐】T-SQL实用例句MicrosoftSQLServer密码的危险判断管理如何使用SQLServer数据库查询累计值Oracle和SqlServer存储过程调试、错误处理分析几种SQLServer语句和存储过程微软更新JDBC驱动支持SQLServer2005