这样的SQL语句优化,占用cpu比较高,表有30万条记录

yb2008 2007-11-05 10:32:52

1.当拥有几千人查询,cpu占用100%

cpu Reads
2297 56382

select 表.字段 from BusinessChance,MemberInfo,AutoSite where BusinessChance.MemberInfoID=MemberInfo.id and MemberInfo.AutoSiteID=AutoSite.id and BusinessChance.ddlTypeID = '供应商机' and BusinessChance.txtTitle like '%电脑%'

2.当返回 count(id)时
cpu Reads
828 30767

cpu占用比较高,不知如何是好! 感谢!!!
...全文
200 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
michael_sw 2007-11-06
  • 打赏
  • 举报
回复
同意楼上的 存储过程未必就效率高...建立索引是最好的解决办法
yhy0611 2007-11-06
  • 打赏
  • 举报
回复
一个查询语句而已,用存储过程效果并不会很大,还是建立索引
yb2008 2007-11-06
  • 打赏
  • 举报
回复
自己顶,感谢楼上回复,目前 急需解决

'%电脑% 这种查询优化的问题?


qq22345111 2007-11-05
  • 打赏
  • 举报
回复
建立索引
使用数据缓存技术
like '电脑%' 使用索引
ojuju10 2007-11-05
  • 打赏
  • 举报
回复
1、在相关联的字段上建立索引

2、
like '%电脑% ' 没有用到索引,
而like '电脑% ' 才用到索引,
FollowCN 2007-11-05
  • 打赏
  • 举报
回复
尽量避免使用like语句
FollowCN 2007-11-05
  • 打赏
  • 举报
回复
索引是在 sqlserver 里面添加,然后再到where 语句中使用吗?
where语句中使用的字段分别加上第一、第二.....第N索引。如果只是用于查询可以考虑聚簇索引。
yb2008 2007-11-05
  • 打赏
  • 举报
回复
索引是在 sqlserver 里面添加,然后再到where 语句中使用吗?
time_is_life 2007-11-05
  • 打赏
  • 举报
回复
1. 在where字段上加索引
2. 优化程序,多用缓存
vrhero 2007-11-05
  • 打赏
  • 举报
回复
当拥有几千人查询,cpu占用100%
------------------
查一下高峰时的并发数...30万记录很少...但并发数达到一定数量级要注意硬件配置吃不吃得消...

至于优化...这种查询应采用视图+存储过程...
getnetrmb 2007-11-05
  • 打赏
  • 举报
回复
使用存储过程
honey52570 2007-11-05
  • 打赏
  • 举报
回复
O_O
yuhe7919 2007-11-05
  • 打赏
  • 举报
回复
关注并学习!
benimaru8610 2007-11-05
  • 打赏
  • 举报
回复
建立索引、使用数据缓存技术 ←能具体点么?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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