一段sql语句的查询优化

sunnyboy409 2007-12-04 02:48:22
下面这段sql涉及到了三个表的连接查询,其中每个表大概有万行级别的数据,其中大量使用了like,document_summary_normalized.document_summary_normalized 这个字段长度是nvarchar(4000),数据库是sqlserver2K,对这个字段进行全文搜索会不会提高了速度但是损失了准确率?大家有没有好的优化这段查询效率的方法?谢谢了!
select document.written_date,
document.document_id
from document_participant,
document,
document_summary_normalized
where (((document.document_type = 0)
or (document.document_type = 1)
or (document.document_type = 2))
and (((document.title_normalized like '%\1\2\3\4\5%' ESCAPE '\'))
or ((document.al_title_normalized like '%\1\2\3\4\5%' ESCAPE '\'))
or ((document_summary_normalized.document_summary_normalized like '%\1\2\3\4\5%' ESCAPE '\'))
or ((document.keyword_normalized like '%\1\2\3\4\5%' ESCAPE '\'))
or (((document_participant.participant_type = '6')
and (document_participant.participant_name_normalized like '%\1\2\3\4\5%' ESCAPE '\')))
or (((document_participant.participant_type = '6')
and (document_participant.participant_al_name_normalized like '%\1\2\3\4\5%' ESCAPE '\')))
or (((document_participant.participant_type = '7')
and (document_participant.participant_name_normalized like '%\1\2\3\4\5%' ESCAPE '\')))
or (((document_participant.participant_type = '7')
and (document_participant.participant_al_name_normalized like '%\1\2\3\4\5%' ESCAPE '\')))
)
)
and 1 = 1
and document.document_id = document_participant.document_id
and document.document_id = document_summary_normalized.document_id
order by document.written_date desc,
document.document_id asc
...全文
38 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnyboy409 2007-12-04
  • 打赏
  • 举报
回复
自己顶~~~~

34,587

社区成员

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

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