表查询很慢问题?

szdfz 2005-03-04 09:25:45
一个原来有大量记录的表tab,删除了大部分记录之后,虽然只剩下几百条,但查询(如:select count(*) from tab)起来还是特别慢,请问为什么?是不是要做什么重建或者释放空间之类的工作?
...全文
284 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
'Alan 2005-03-17
  • 打赏
  • 举报
回复
用alter table tabname deallcate unused 时不能全部收回,当DELETE表时,记录的High-water mark并没完全下来,而alter table tabname deallcate unused 只能回收到High-water mark处。
建议用 bzszp(SongZip)的方法:
rename tab to tab_old;
create table tab as select * from tab_old;
select count(*) from tab;

再加一条:drop table tab_old; 以释放空间。
guangli_zhang 2005-03-17
  • 打赏
  • 举报
回复
select count(索引字段) from tab 试试
itjonney 2005-03-16
  • 打赏
  • 举报
回复
你删除大部分的记录是通过DELETE来完成的吧?
这样表空间和相应的约束都没有释放,建议以后册除批量数
据不要用DELETE,可以使用truncate来完成
GerryYang 2005-03-09
  • 打赏
  • 举报
回复
重新做一下表分析.
最好是重建表.
rename之后,create一个新的.
nebulaly 2005-03-08
  • 打赏
  • 举报
回复
删除数据不会影响表的高水位标志,全表扫描还是一样慢

move一下表
pumag 2005-03-08
  • 打赏
  • 举报
回复
执行execute dbms_stats.gather_schema_stats('ALL');
重新收集系统信息
skystar99047 2005-03-04
  • 打赏
  • 举报
回复
如果用到索引,重建一下索引试试,不行再重建表。
kevin218 2005-03-04
  • 打赏
  • 举报
回复
把你原来表上现在看来没有必要的约束去掉
建立索引

还有要想得到总条数,不要全扫描

select count(1) from tab;

得到结果一样,但是快
szdfz 2005-03-04
  • 打赏
  • 举报
回复
重建我觉得应该是可以的,有没有什么其他命令同样解决问题而不需要重建的?
bzszp 2005-03-04
  • 打赏
  • 举报
回复
try:
rename tab to tab_old;
create table tab as select * from tab_old;
select count(*) from tab;
bzszp 2005-03-04
  • 打赏
  • 举报
回复
几百条会有多慢?
try:
rename tbname to tbname_new;
create table tbname as select * from tbname_new;
drop table tbname;
select count(*) from tbname;
lnaszxl 2005-03-04
  • 打赏
  • 举报
回复
建议重建个表

create table tab1 as select * from tab;
zhaokeke2004 2005-03-04
  • 打赏
  • 举报
回复
alter table tab deallocate unused;
select count(*) from tab
liuyi8903 2005-03-04
  • 打赏
  • 举报
回复
其他表效率如何?
zhaokeke2004 2005-03-04
  • 打赏
  • 举报
回复
alter table tab deallocate unused;
select * from tab
szdfz 2005-03-04
  • 打赏
  • 举报
回复
完全没有任何索引和约束,该表只是用来暂存数据,隔一段就移走的。
echo123321 2005-03-04
  • 打赏
  • 举报
回复
count(*)效率低?

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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