日期:2014-05-19  浏览次数:20481 次

@@@@@:如何提高模糊查询速度(在线等)
表里应该有百万条数据,因为是模糊查询,用存储过程实现的分页查询每次都需要4秒钟左右,怎样能像百度MP3那样用时能在几十毫秒之内呢?
有人指点用缓存的技术实现,可我的水平确实无法具体实现,望高手再详细指点一二,因我刚做ASP.NET才半年多,水平的低下望包涵,如果无法完成,估计也只有走人了!

------解决方案--------------------
尽量使用CHARINDEX 和 PATINDEX,少用%
具体使用查联机帮助
------解决方案--------------------
对于查询,特别是大的数据量的查询,简单一点的就是人为的添加一些条件,这样可以减小查询范围,提高速度。

上面提到少用%,我也提个尽量不用in。
------解决方案--------------------
查询开头匹配的总比查中间匹配的速度肯定快得多,而且可以利用索引.

要实现快速的模糊查询,你必须建立全文索引.具体看帮助.
------解决方案--------------------
CHARINDEX 和 PATINDEX是函数
------解决方案--------------------
对于你 查询的条件列 建立索引
------解决方案--------------------
Baidu,Google并不是用的商用数据库.

那是自己的文件系统.
------解决方案--------------------
长知识 了
------解决方案--------------------
另:如果数据量比较大,字段内容也比较大,可考虑用全文索引. 如:文章内容的查找==
------解决方案--------------------
有一些是可以使用技术来提高的,有一些是要使用技巧来避免的;
比如你要查询的数据和时间相关,那就尽量减少长久历史数据的查询;默认时间段来减少检索数据量;
比如你的数据分类别的,那就尽量缩小类别范围;
这些都无法避免的,那就使用进度条!提示检索大致时间;
------解决方案--------------------
用SQL Server带的全文检索会快点,具体参见联机帮助
------解决方案--------------------
长知识 了

------解决方案--------------------
有情帮顶
------解决方案--------------------
使用全文检索吧!
------解决方案--------------------
使用全文检索吧!
------解决方案--------------------
顶顶
------解决方案--------------------
添加个 where 语句
------解决方案--------------------
这样不用 查询一次就搜索全部,而只是找你要找的相关内容

------解决方案--------------------
|
------解决方案--------------------
不用:%内容% 而采用:内容% 速度快很多很多
偶测试过的
上千万条记录