求一 sql 语句写法

山城忙碌人 2011-10-17 08:58:28
test 表里有 内容(content) 字段:
该钱的数据为:
你好:张三你的钱我收到了,还行
你好:威尔史密斯你的钱我收到了,不错
你好:王麻子你的钱我收到了,比较好
你好:左大你是个骗子

请问:
1 我想查询出内容以:你好:XXXX(每个人的姓名,如:张三,威尔史密斯,王麻子)你的钱我收到了,请问sql语句应该怎么写,注:写出来的sql要让建立在content上的索引生效。不能这样:content like '%你的钱我收到了%',正确的sql应该怎么写呢。
我要查询出来的结果如下:
你好:张三你的钱我收到了,还行
你好:威尔史密斯你的钱我收到了,不错
你好:王麻子你的钱我收到了,比较好

不包括最后一条。谢谢了
...全文
79 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
山城忙碌人 2011-10-17
  • 打赏
  • 举报
回复
谢谢各位了。。。
http://topic.csdn.net/u/20110907/16/517268c1-036c-4633-b743-6880f75f185f.html?seed=291125718&r=76021264#r_76021264
请求各位帮我分析下这个帖子,谢谢。
--小F-- 2011-10-17
  • 打赏
  • 举报
回复
你这个要使索引生效是不可能的 因为查询需要用到%% 这样走的必然是全表扫描 走不到SCAN
jkjay 2011-10-17
  • 打赏
  • 举报
回复
用like或者百分号
oO寒枫Oo 2011-10-17
  • 打赏
  • 举报
回复
如果可以的话 表的字段重新设计一下。
NBDBA 2011-10-17
  • 打赏
  • 举报
回复
除非增加个字段内容类别,并在内容类别字段增加索引,在数据入库时程序判断内容类别。查询时按这个内容类别查询。

内容(content) 字段应该去掉,永远用不到的。
Rotel-刘志东 2011-10-17
  • 打赏
  • 举报
回复
用不到索引的,建议修改表结构。
NBDBA 2011-10-17
  • 打赏
  • 举报
回复
没有办法
-晴天 2011-10-17
  • 打赏
  • 举报
回复
用 like '%XX%',怎么写语句都不会运用到索引,因为索引是根据第一个字符开始进行标识的,而like '%'后,字符数不确定,因此不能用到索引.
建议,改一下表结构,增加一些关键词字段,在对表插入一条条数据的同时,把关键字提取出来,后面的检索根据提取出的关键字来进行,这样才能运用到索引.

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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