30万条数据,搜索文本字段的各种方式对比
来源:asp之家 发布时间:2010-05-02 10:17:00
数据库:
30万条,有ID列但无主键,在要搜索的“分类”字段上建有非聚集索引
过程T-SQL:
/*
用户自定义函数:执行时间在1150-1200毫秒左右
CREATE FUNCTION [dbo].[gethl] (@types nvarchar(4))
RETURNS table AS
return select 书名 from 图书三十万条 Where 分类 Like '%'+@types+'%'
存储过程:
CREATE PROCEDURE [dbo].[getfl](@typen nvarchar(4))
AS
select 书名 from 图书三十万条 Where 分类 Like '%'+@typen+'%'
*/
declare @a datetime,@b nvarchar(4)
set @a=getDate()
select 书名 from 图书三十万条 Where 分类 Like '%医学%' --“分类”列有非聚集索引,比聚集索引1150快一点,差不多执行时间在1100左右
-- select 书名 from gethl('医学') --使用用户自定义函数,效率和建立聚集索引一样,还稍慢一点 在1150-1200
-- Execute getfl '医学' --调用存储过程不能用括号包含参数 Execute getfl('医学')
-- select 书名 from VIEW1 --视图
print '运行时间:
print datediff(ms,@a,getDate())
结论:
1、以上各种使用直接查询、函数、视图、存储过程性能都差不多;
2、在这种文本字段,非聚集比聚集索引效果好。
比这些更好的方法是,在另外一个表上建立相应的检索ID,会更快!


猜你喜欢
- 本文实例为大家分享了python+pyqt5编写md5生成器的具体代码,供大家参考,具体内容如下学了一下pyqt5,写一个小程序来实践一下。
- 正在看的ORACLE教程是:Oracle与SQL Server在企业应用的比较。在我供职的公司不仅仅拥有Oracle数据库,同时还拥有SQL
- 如何限制上传文件的大小?要限制上传大小,只需如下设置一个属性即可: &
- 了解了上一篇的ADO.NET简介,我们就可以来对数据库进行增删改查等基本操作了!下面是每种操作的具体实现。先在自定义类的头部定义好数据库连接
- 1、修改本地化时间原理: 本地化时间格式化需要gettext支持, 假如你的环境没有开启此功能, 将会返回乱码, 影响#phpmyadmin
- 这本来是翻译Estelle Weyl的《15 JavaScript Gotchas》,里面介绍的都是在JavaScript编程实践中平时容易
- 本文实例讲述了JavaScript闭包与作用域链。分享给大家供大家参考,具体如下:闭包定义闭包指的是有权访问另一个函数作用域中的变量的函数。
- 读写中文需要读取utf-8编码的中文文件,先利用sublime text软件将它改成无DOM的编码,然后用以下代码:with codecs.
- 参考自官方文档参数注册尝试自己写GoogLeNet时碰到的问题,放在字典中的参数无法自动注册,所谓的注册,就是当参数注册到这个网络上时,它会
- 使用循环神经网络(RNN)实现影评情感分类作为对循环神经网络的实践,我用循环神经网络做了个影评情感的分类,即判断影评的感 * 彩是正面的,还是
- 本文实例讲述了Flask框架通过Flask_login实现用户登录功能。分享给大家供大家参考,具体如下:通过Flask_Login实现用户验
- 如下所示:import picklewith open(filename, 'rb') as f: datadict = p
- 1、什么是mixin这不是Vue的专属的,可以说是一种思想,在很多开发框架中都实现了Mixin。官方解释:mixin提供了一种非常灵活的方式
- 一.什么是Vuex? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规
- 多表关系在进行数据库表结构的设计时,会根据业务的需求和业务模块之间的关系,分析设计表结构,由于业务之间相互关联,所以各个表结构之间也存在各种
- 在对Python中的闭包进行简单分析之前,我们先了解一下Python中的作用域规则。关于Python中作用域的详细知识,有很多的博文都进行了
- 问题我试图打印some_cell.font.color.rgb并得到各种结果。对于一些人,我得到了我想要的东西(比如“ FF000000”)
- 实例如下所示:import timeimport pickleimport osimport reclass LogIncScaner(ob
- 在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。每次实例化一个对象
- 首先,我们来随便写一个带空格的列表:list1 = ['122','2333','3444'