数据库的增删改查操作数据慢,都有哪些原因?

yuanqi007 2008-09-25 11:20:10
数据库服务器的内存是1G,ORACLE占用400M左右。

客户端在操作数据库时,速度很慢.这样的情况一般都会是什么原因?

另外,22日时,对修改了数据库中一张表的扩展空间,修改语句如下:
ALTER TABLE tt.table STORAGE ( MAXEXTENTS UNLIMITED);

将表的扩展空间修改成无限制,会影响数据库的速度么?

谢谢各位先。
...全文
526 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
awuzi 2008-12-23
  • 打赏
  • 举报
回复
mark
yuanqi007 2008-10-21
  • 打赏
  • 举报
回复
问题弄清楚了。

不是ORACLE的性能问题。

谢谢各位先,马上结贴!
zzk22510 2008-09-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 linzhangs 的回复:]
占用内存正常的。你操作的是数据量大的表吧。如果要快点的话可以尝试创建或使用索引;
可能连接数比较多。读写操作频率太高了吧,提高硬件配置相信会快很多。
将表空间设置为无限制对速度应该没太多影响吧!
[/Quote]
索引只能提高检索操作的速度。降低增删改的速度。

应该先找到问题发生的地方,分析问题的原因,然后再解决。
按照5,5楼的操作去试试看。

ruihuahan 2008-09-26
  • 打赏
  • 举报
回复
将表的扩展空间修改成无限制,会影响数据库的速度么?
============================================
应该不会。


数据库服务器的内存是1G,
==========================
现在有多少客户端啊?
cqusgx 2008-09-26
  • 打赏
  • 举报
回复
关注中
BlueskyWide 2008-09-26
  • 打赏
  • 举报
回复
可以通过alter system kill session ‘sid,serial#’来杀掉产生死锁的会话:

SELECT /*+ rule */ s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT NULL
yeah920 2008-09-26
  • 打赏
  • 举报
回复
帮忙顶一下.
BlueskyWide 2008-09-25
  • 打赏
  • 举报
回复
不会影响速度,数据库通常分配一个缺省值,后自动扩展。
yuanqi007 2008-09-25
  • 打赏
  • 举报
回复
不管对哪个表操作,速度都不快。呵呵。
范佩西_11 2008-09-25
  • 打赏
  • 举报
回复
占用内存正常的。你操作的是数据量大的表吧。如果要快点的话可以尝试创建或使用索引;
可能连接数比较多。读写操作频率太高了吧,提高硬件配置相信会快很多。
将表空间设置为无限制对速度应该没太多影响吧!
ab5669 2008-09-25
  • 打赏
  • 举报
回复
是不是装了瑞星等杀毒软件,或是有蠕虫病毒。
linxuanyuzhu 2008-09-25
  • 打赏
  • 举报
回复
学习
cyc_cheng 2008-09-25
  • 打赏
  • 举报
回复
关注下
codearts 2008-09-25
  • 打赏
  • 举报
回复
A窗口执行sql时,
开另一个B窗口,执行:
select * from v$session_wait where sid=A窗口的session_id;

看看在等待什么

还有就是看你的sql执行计划
juz_007 2008-09-25
  • 打赏
  • 举报
回复
查询性能较差的语句
SELECT ADDRESS, SQL_TEXT, buffer_gets, executions, buffer_gets/executions AVG
FROM v$sqlarea
WHERE executions>0 AND buffer_gets > 100000

看看是什么原因导致的
oracledbalgtu 2008-09-25
  • 打赏
  • 举报
回复

--看看系统在等待什么东西:
SELECT *
FROM (SELECT EVENT, TOTAL_WAITS
FROM V$SYSTEM_EVENT S
ORDER BY TOTAL_WAITS DESC)
WHERE ROWNUM < 10;

[Quote=引用楼主 yuanqi007 的帖子:]
数据库服务器的内存是1G,ORACLE占用400M左右。

客户端在操作数据库时,速度很慢.这样的情况一般都会是什么原因?

另外,22日时,对修改了数据库中一张表的扩展空间,修改语句如下:
ALTER TABLE tt.table STORAGE ( MAXEXTENTS UNLIMITED);

将表的扩展空间修改成无限制,会影响数据库的速度么?

谢谢各位先。
[/Quote]
ePower518 2008-09-25
  • 打赏
  • 举报
回复
把SGA分配贴出来,看看400M是怎么分配的。
如果shared_pool_size分配大量内存,则会导致系统性能整体下降厉害。

另外,就是有没有根据系统IO吞吐量来设置db_multi_block_read_count。
具体的,就是检查会话等待事件,根据具体等待事件优化SQL等。

这么简单的描述怎么会有对症的优化方法呢?

ALTER TABLE tt.table STORAGE ( MAXEXTENTS UNLIMITED);
修改这个,不会对性能有太大的提高。如果扩展区已经分配太多的话,则rebuild表,
设计好pctfree,以及initial参数,自动increase可以不配的(9i以上版本默认)。

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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