sqlserver高效分页

jiaoshiyao 2015-01-09 12:38:00

create table art(
intid int 主键自增,
intkeytype int ,文章线上id,
文章内容 nvarchar(max),
创建时间 datetime,
intflag int,是否有效
)
表还有几个其他字段但是我手机发的就。。。
这个表的字段都可以为空,没有约束或者索引
现在有40万条数据要分页
查询条件是 文章内容like 一个值 and intflag=1的倒序
我发现rownumber好慢其他好多分页都不能出来基本都要几分钟
现在要怎么处理才能快
...全文
661 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你的那种查询没有办法! 有一些小公司派不懂查询功能的程序员滥用“like 语句”却对外说“我们现在可以对网站文章进行模糊查询了”。你现在见过不懂全文检索技术是多么害人了。
我叫小菜菜 2015-01-10
  • 打赏
  • 举报
回复
3楼正解 长度不够6
衣舞晨风 2015-01-10
  • 打赏
  • 举报
回复
看看问题7:http://blog.csdn.net/jiankunking/article/details/37567535
李化贝 2015-01-10
  • 打赏
  • 举报
回复
SQL Server分页据我所知只有三种: SQL 2005: TOP 2008: ROWNUMBER 2012: OFFSET,FETCH
lincolnandlinda 2015-01-09
  • 打赏
  • 举报
回复
用什么实现:sql? linq to enities?
lkhuge 2015-01-09
  • 打赏
  • 举报
回复
SELECT TOP 页大小 *
FROM TestTable
WHERE (ID >
          (SELECT MAX(id)
         FROM (SELECT TOP 页大小*页数 id
                 FROM 表
                 ORDER BY id) AS T))
ORDER BY ID
S314324153 2015-01-09
  • 打赏
  • 举报
回复
文章内容建个全文索引,然后用索引查找不要用like
编程有钱人了 2015-01-09
  • 打赏
  • 举报
回复
如果费查询 内容的话,建议用全文索引
SPFarmer 2015-01-09
  • 打赏
  • 举报
回复
文章内容like ---这个肯定会很慢的。你的文章内容有多少字节呢,应该都不会太少吧。 所以一般的查询也不会查询文章内容。一般情况下,是查询作者,文章名称,关键字,之类的。
华芸智森 2015-01-09
  • 打赏
  • 举报
回复
1.建立必要的索引 2.使用全文过引.
  • 打赏
  • 举报
回复
40w就要几分钟?你的sql那是多复杂啊 分页只是减少读取的问题,它只能提高部分速度 提高查询速度最有效的方式就是索引 最根本的核心还是不知道你写的sql到底是怎么样的 一个简单的sql,就查一张表,表里就10w数据,如果写的太烂,也是可以查询个1分钟的

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧