社区
Oracle 高级技术
帖子详情
表查询很慢问题?
szdfz
2005-03-04 09:25:45
一个原来有大量记录的表tab,删除了大部分记录之后,虽然只剩下几百条,但查询(如:select count(*) from tab)起来还是特别慢,请问为什么?是不是要做什么重建或者释放空间之类的工作?
...全文
284
17
打赏
收藏
表查询很慢问题?
一个原来有大量记录的表tab,删除了大部分记录之后,虽然只剩下几百条,但查询(如:select count(*) from tab)起来还是特别慢,请问为什么?是不是要做什么重建或者释放空间之类的工作?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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(*)效率低?
如何1天会用KALI LINUX渗透系统?
5、如何4步解决下载软件时慢的
问题
? 6、如何4步解决不能输入中文的
问题
? 7、1步搞定物理机和虚拟机文件互传? 8、如何1步...
用户量多后登录时
查询
速度慢怎么办?
查询
用户
表
索引:SHOW INDEX FROM 测试
查询
用户
表
,看
查询
是否走索引:EXPLAIN SELECT * FROM hd_user WHERE username = ‘handsome’未走索引,type为all,全
表
扫描,当数据量多时速度极慢。给用户名字段创建唯一...
mysql大字段大
查询
慢_mysql大
表
查询
慢怎么优化?
mysql大
表
查询
慢的优化方法:1、合理建立索引,通常
查询
利用到索引比不用索引更快;2、对关键字段建立水平分区,比如时间字段,若
查询
条件往往通过时间范围来进行
查询
,能提升不少性能;3、建立粗粒度数据
表
;4、...
为什么有时 mysql
查询
非常的慢?
1.1 索引在数据量不是很大时,大多慢
查询
可以用索引解决,大多慢
查询
也因为索引不合理而产生。MySQL 索引基于 B+ 树,这句话相信面试都背烂了,接着就可以问最左前缀索引、 B+ 树和各种树了。说到最左前缀,实际就是...
SqlServer
表
查询
很慢
Sqlserver
表
查询
速度
很慢
Oracle 高级技术
3,491
社区成员
18,714
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章