永发信息网

超高分求助:ASP程序搜索功能语句优化

答案:4  悬赏:30  手机版
解决时间 2021-07-31 10:54
  • 提问者网友:十年饮冰
  • 2021-07-30 21:08
select top 1000 hp.id,hp.status,hp.user_id,hp.hp_name,hp.hp_depict,hp.pic_little,hp.hp_type,hp.submitdate,hp.hits,loginuser.id,loginuser.shengfen,loginuser.city,loginuser.nickname,loginuser.yz_type1,loginuser.yz_email,loginuser.yz_sj,hp.hope_money from hp,loginuser where hp.user_id=loginuser.id and hp.sh=1 and loginuser.shengfen='G00010001'and loginuser.city='G000100010004' and hp.dele=0 and hp.id>100000 and hp.hpname like '%自行车%' order by hp.submitdate desc,hp.hits desc

程序根据用户选择,增加判断条件。
其中有根据hpname进行关键字查询。
hp表有数据近百万条
这个搜索的页面一放到网上,整个网站马上慢下来。

跪求优化方法,包括翻页功能。。

真的很急。
最佳答案
  • 五星知识达人网友:空山清雨
  • 2021-07-30 22:47

添加索引吧,目前我就想到这个办法

全部回答
  • 1楼网友:醉吻情书
  • 2021-07-31 01:16

小优化就是注意条件的顺序,大的还得加索引,大量数据读取肯定占系统资源

----------------

select top 1000 hp.id,hp.status,hp.user_id,hp.hp_name,hp.hp_depict,hp.pic_little,hp.hp_type,hp.submitdate,hp.hits,loginuser.id,loginuser.shengfen,loginuser.city,loginuser.nickname,loginuser.yz_type1,loginuser.yz_email,loginuser.yz_sj,hp.hope_money from hp,loginuser where hp.sh=1 and loginuser.shengfen='G00010001' and loginuser.city='G000100010004' and hp.dele=0 and hp.id>100000 and hp.user_id=loginuser.id and hp.hpname like '%自行车%' order by hp.submitdate desc,hp.hits desc

  • 2楼网友:轻雾山林
  • 2021-07-31 00:59

优化SQL查询。

通常多表查询会耗费很大开销,

另外,全文检索尤其是表中数据量成百万级的时候,也会造成很大开销。

你可以试着把你的查询分开来。看哪个执行速度最慢。然后再想办法解决。

另外,记得在关键的字段加索引会提升查询速度。但是过多的索引反而会减慢查询速度。

  • 3楼网友:掌灯师
  • 2021-07-31 00:05

到网上找一个分页的存储过程

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯