一个表有三个字段id(int 主键 自增长) title(nvarchar(20)) content(text)里面有百万条数据,如何做能快速的查出title里面带有“的”的所有id,用sql语句也行,也可以借助外来工具,但是like语句不行,麻烦帮帮忙!园豆没有多少,是个心意啊!
为什么Like 语句不行?查询时只要不显示content(text)字段的数据, 对Title 字段建索引,然后select ID from Table where Title like '%的%'应该可以成功,仅百万数据,完全可以承受.
如果不行,就对title 建全文索引 。
但是人家说这个不行啊
@待重逢: 那就固化查询结果数据
对表新增字段IsHaveDE bit ,将Title有“的”记录更为为 1
update table
set IsHaveDE =1
where PATINDEX( '%的%', Title )>0
然后直接使用 select ID from Table where IsHaveDE =1查询数据。
如果这个是页面显示,可以采取分页的方式返回数据。
第一次取前XXX条数据,点下一页或想看后面的数据时 你查询是给个区间,不已次把数据都检索出来
这样也行啊!
select id from table where title like '%的%',可以的
使用charindex('的',Title)>0也可以,而且比LIKE的速度要快一些
select id from Table where charindex('的',Title)>0
学习楼上的写法了
第一次取前XXX条数据,点下一页或想看后面的数据时 你查询是给个区间,不已次把数据都检索出来
大数据都是这样查询的
text字段类型已很大限制,建议采取“全文检索”