当前位置:首页 » 编程语言 » sql语句传参数执行慢
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql语句传参数执行慢

发布时间: 2023-03-16 15:48:29

1. sql语句执行太慢,怎么优化

Try this:

select storage.prodcode, sum(case when billsale.prod_number is null then 0 else billsale.prod_number end) as '已销售数量'
from storage left join billsale on billsale.prodcode=storage.prodcode
group by storage.prodcode

2. 大神们帮忙看看这个SQL语句执行有点慢,要怎么优化才变快点

你好,根据SQL,我给予一些建议,最好根据执行计划:

  1. 若走的全表扫描,建议建立表间关联字段索引,查看索引失效原因,修改SQL关联逻辑,大部分都能解决。

  2. 如果是数据量大的问题:

    a. 如果有多个查询条件,建议建立where限制条件,减少数据统计范围。

    b. 如果实时性要求不高,可以定时跑批,把结果放在结果表里,前台查询结果表。

    c. 关联表太多,SQL建议拆分两端,sum统计单独放一个SQL。

3. 如果输入一条查询一张表的sql语句,但数据库执行缓慢,如何并采取什么样的方法对数据库进行优化

1.对表格进行优化。创建索引可以大大的加快查询的速度。
2。对你的语句进行优化。where语句中执行的顺序是:从右往左,从下往上。所以
(1)能排除最多数据的条件应该写在最外面。
(2)如果是多表关联的,那么关联表应该放在中间,数据少的表放最后
(3)尽量不要用select *,因为这样数据库是进行全表扫描,相当于select 所有字段,尽量选需要的吧

4. SQL语句执行起来真的很慢,请大家帮忙优化一下

先建立索引,索引名随便起:
CREATE INDEX index_name ON COPTD(TD004);
CREATE INDEX index_name ON MOCTB(TD004);
CREATE INDEX index_name ON MOCTA(TD004);
insert into ZDIDAN(DD01,DD02,DD03) SELECT distinct TD004,SUM(TD08),'O' FROM COPTD,MOCTA,MOCTB where COPTD.TD004=MOCTA.TD004 and MOCTB.TD004=MOCTA.TD004 and COPTD.TD021 = 'Y' AND COPTD.TD016 = 'N' AND COPTD.TD008+COPTD.TD024-COPTD.TD009-COPTD.TD025 > 0 and TB001+TB002=TA001+TA002 and TA013='Y' AND TA011 < 'Y' AND TB004>TB005 GROUP BY COPTD.TD004;