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表有数据近百万条
这个搜索的页面一放到网上,整个网站马上慢下来。
跪求优化方法,包括翻页功能。。
真的很急。
超高分求助:ASP程序搜索功能语句优化
答案:4 悬赏:30 手机版
解决时间 2021-07-31 10:54
- 提问者网友:十年饮冰
- 2021-07-30 21:08
最佳答案
- 五星知识达人网友:空山清雨
- 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
到网上找一个分页的存储过程
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯