30万条数据,搜索文本字段的各种方式对比

数据库
30万条数据是一个大量的数据,用一般的方法处理起来可能比较费劲,速度上相对比较慢,搜索本文字段也是比较慢,那么如何提高速度,达到高效的效果呢?下文中我将为大家介绍几种搜索文本字段的几种方式。

数据库:

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,会更快!大家可以根据自己的情况,选择一种适合自身的方式,希望上文中讲到的内容对大家能够有所帮助。

【编辑推荐】

  1. 三大措施设置数据库 保障个人网站安全运营
  2. Microsoft SQL Server数据库开发问题详解
  3. 一个进入Oracle数据库用户的小诀窍

 

责任编辑:迎迎 来源: 站长之家
相关推荐

2022-04-28 20:12:44

二分法搜索算法

2019-07-16 08:51:03

热搜新浪微博数据

2010-02-24 12:41:58

WCF异常处理

2021-11-02 14:46:50

数据

2010-02-22 16:00:22

WCF序列化

2023-10-19 15:13:25

2019-11-28 18:54:50

数据库黑客软件

2018-08-27 07:01:33

数据分析数据可视化租房

2020-12-28 08:29:47

Vuecss框架

2017-07-22 22:11:36

数据丢失操作

2024-05-11 12:34:51

EasyExcelOOM代码

2022-06-17 10:15:35

面试API前端

2024-04-09 07:56:36

MySQL数据性能

2019-10-18 15:36:24

网易歌单热评

2020-04-23 15:42:44

Web前端技术

2011-10-21 09:43:28

Python

2015-10-08 08:51:40

PHP内存耗尽解决方案

2023-12-04 09:15:00

Spring框架

2022-10-27 21:32:28

数据互联网数据中心

2014-01-21 17:36:58

点赞
收藏

51CTO技术栈公众号