由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - stored procedure running 很慢的问题
相关主题
Why does this Stored procedure fail ?请问如何DEPLOY STORED PROCEDURE啊
Re: Job with Oracle PL? (转载)SQL server stored procedure 求助
stored procedure help Please.....求教:Oracle trigger 中生成的数据如何送到stored procedure中?
请各位帮我看看这个最简单的Stored Procedure (转载)question
#在SQL里啥子意思Help about mysql
如何分析Stored Procedure运行时间过长?Questions about building a database(Maybe ACCESS?)
如何从一个Stored Procedure中实时返回运行信息Memo Field一问
how to check the definition of a stored procedure in TOADUrgent - Create Table with VARCHAR types in Sybase through JDBC
相关话题的讨论汇总
话题: table话题: sp话题: running话题: update话题: insert
进入Database版参与讨论
1 (共1页)
h*****6
发帖数: 866
1
stored procedure running 很慢, 如果把用到的几个tables drop掉,recreate 一
样的tables and indexes,速度就正常一段时间,几天后又会变慢,求建议。
D*********l
发帖数: 493
2
analyze table compute statistics
y****w
发帖数: 3747
3
dbms? table size? any special feature enabled? change on the table (a lot
update/delete/insert?)?

【在 h*****6 的大作中提到】
: stored procedure running 很慢, 如果把用到的几个tables drop掉,recreate 一
: 样的tables and indexes,速度就正常一段时间,几天后又会变慢,求建议。

n****f
发帖数: 905
4
数据是逐渐增加, 还是每次更新(replace)?
请提供主要部分的代码。
s**********o
发帖数: 14359
5
DROP TABLE,让后用SELECT INTO,注意DATATYPE,尤其是VARCHAR有时候会变,
SP的快慢跟你INSERT的数据量有关,REBUILD INDEX也会长。
把SP掐头变成QUERY, RUN ESTIMATED EXECUTION PLAN,看哪里COST高
c*****d
发帖数: 6045
6
问题说的不是很清楚
估计是procedure A要select/insert/update/delete table B
然后每次重新建table B能加速执行A的速度?
这样的话肯定是B的statistics有问题
h*****6
发帖数: 866
7
1. dbms is Oralce 11g
2. sp has more than 40 update statements to update a table (more than 50
columns)
3. sp can be called by more than 400 users, concurrently calling not too
much actually.
4. the table has a column called session_id, sp delete rows from the table
based on session_id at the top and end of sp
5. after sp complete running, the table is always empty
6. a user usually insert, update, 10k-100k rows in the table
7. drop the table and recreate it, sp running time will be improved a lot.
c*****d
发帖数: 6045
8
6是在sp里面还是外面?

【在 h*****6 的大作中提到】
: 1. dbms is Oralce 11g
: 2. sp has more than 40 update statements to update a table (more than 50
: columns)
: 3. sp can be called by more than 400 users, concurrently calling not too
: much actually.
: 4. the table has a column called session_id, sp delete rows from the table
: based on session_id at the top and end of sp
: 5. after sp complete running, the table is always empty
: 6. a user usually insert, update, 10k-100k rows in the table
: 7. drop the table and recreate it, sp running time will be improved a lot.

h*****6
发帖数: 866
9
6是在sp里面的,a user insert, update the table based on his own session_id.谢
谢。
c******n
发帖数: 7263
10
Index是怎么定义的
相关主题
如何分析Stored Procedure运行时间过长?请问如何DEPLOY STORED PROCEDURE啊
如何从一个Stored Procedure中实时返回运行信息SQL server stored procedure 求助
how to check the definition of a stored procedure in TOAD求教:Oracle trigger 中生成的数据如何送到stored procedure中?
进入Database版参与讨论
y****w
发帖数: 3747
11
sp has more than 40 update statements to update a table (more than 50 ) ----
很可能你这些update可以合并。别说是一列一列的更新。
你最好贴个伪码上来大家看看。
如果每次调用都insert然后又清空,考虑用真正的临时表than regular table。

【在 h*****6 的大作中提到】
: 1. dbms is Oralce 11g
: 2. sp has more than 40 update statements to update a table (more than 50
: columns)
: 3. sp can be called by more than 400 users, concurrently calling not too
: much actually.
: 4. the table has a column called session_id, sp delete rows from the table
: based on session_id at the top and end of sp
: 5. after sp complete running, the table is always empty
: 6. a user usually insert, update, 10k-100k rows in the table
: 7. drop the table and recreate it, sp running time will be improved a lot.

c*****d
发帖数: 6045
12
基本就是statistics update的问题
目前你不想做更多改动的话
实现的方法就是在sp里insert执行完,run dbms_stats.get_table_stats
上面的方法对单用户有效
如果是多用户都要run这个sp,都要insert同一个table
你最好选择yhwang的建议,用临时表
各个session用自己的

【在 h*****6 的大作中提到】
: 6是在sp里面的,a user insert, update the table based on his own session_id.谢
: 谢。

h*****6
发帖数: 866
13
谢谢了。
B*****g
发帖数: 34098
14
俺sp很少用临时表,都是collection直接操作

【在 c*****d 的大作中提到】
: 基本就是statistics update的问题
: 目前你不想做更多改动的话
: 实现的方法就是在sp里insert执行完,run dbms_stats.get_table_stats
: 上面的方法对单用户有效
: 如果是多用户都要run这个sp,都要insert同一个table
: 你最好选择yhwang的建议,用临时表
: 各个session用自己的

y****w
发帖数: 3747
15
if不需要复杂查询,不需要跟谁join. db2的collection来的晚,俺还不习惯。

【在 B*****g 的大作中提到】
: 俺sp很少用临时表,都是collection直接操作
B*****g
发帖数: 34098
16
为啥不在最开始的SQL语句里解决?

【在 y****w 的大作中提到】
: if不需要复杂查询,不需要跟谁join. db2的collection来的晚,俺还不习惯。
y****w
发帖数: 3747
17
没听懂。。。

【在 B*****g 的大作中提到】
: 为啥不在最开始的SQL语句里解决?
B*****g
发帖数: 34098
18
你为啥要在tt join,提前join好了就不要tt了
我tt一般要外部链接才会用到

【在 y****w 的大作中提到】
: 没听懂。。。
1 (共1页)
进入Database版参与讨论
相关主题
Urgent - Create Table with VARCHAR types in Sybase through JDBC#在SQL里啥子意思
SQL问题请教: add one more column如何分析Stored Procedure运行时间过长?
SQL问题求救!!如何从一个Stored Procedure中实时返回运行信息
SQL help.how to check the definition of a stored procedure in TOAD
Why does this Stored procedure fail ?请问如何DEPLOY STORED PROCEDURE啊
Re: Job with Oracle PL? (转载)SQL server stored procedure 求助
stored procedure help Please.....求教:Oracle trigger 中生成的数据如何送到stored procedure中?
请各位帮我看看这个最简单的Stored Procedure (转载)question
相关话题的讨论汇总
话题: table话题: sp话题: running话题: update话题: insert