oracle 表最大可存储多少条记录??我有个存储生产过程数据的表,发现系统查询太慢,检查数据表,
select count(1) from 表,执行这条语句要10多分钟,最终出来1.7条;是不是记录太多了?oracle 表最大可存储多少条记录??怎么处理啊???不敢执行delete ,怕执行死机器了!!!!!!!郁闷啊,老大的些,干净帮帮忙~~~~~~~~十万火急!!!!!!!!
select count(1) from 表,执行这条语句要10多分钟,最终出来1.7条;是不是记录太多了?oracle 表最大可存储多少条记录??怎么处理啊???不敢执行delete ,怕执行死机器了!!!!!!!郁闷啊,老大的些,干净帮帮忙~~~~~~~~十万火急!!!!!!!!
解决方案 »
- sqlserver 函数简单问题
- 关于游标变量,编译时报第三行错,求解错在哪里
- 【请大家来讨论一下Oracle的锁表机制】--- EXCLUSIVE&SHARE(共享和独占方式)在实际使用时都有些什么区别
- 请教:这个SQL语句该如何写呀
- 高分求救,关于minus的奇怪问题?
- 在oracle里用什么类型的数据存放几千字的内容比较好?
- oracle客户端连接服务器连接服务器的问题
- 如何看记录插入的时间?
- 前辈们谁能给我推荐最好的一本适合初学者的Oracle书(最好电子版)
- oracle 执行计划里的cost(%CPU)与consistent gets之间是什么关系? 为什么会存在consistent gets大,而 Cost 小
- 请教大家一个问题,希望大家能帮帮忙
- Oracle不同机器间数据共享
中10位为相对文件号,中后22位为块号,最后16位为记录号,可见rowid支持的最大的块号为2^22个块,
每个块最大为2^16条记录,
select 比较慢查询出数据1.7条?单位1.7万还是1.7亿?
如果全部删除建议truncate,
truncate table table_name
declare
n number;
begin
n:=100
for i in 1..n loop
delete from tb where 条件 and rownum<=10000;
end loop;
commit;
end;
n number;
begin
n:=100;
for i in 1..n loop
delete from tb where 条件 and rownum<=10000;
end loop;
commit;
end;
请给个SQL语句???
怎么导出法???用SQLSERVER 下的倒出工具吗?还是???
select count(h.f_checktime) from t_tqc_locale_trend_his h 1:485sselect count(1) from t_tqc_locale_trend_his h 2:413sselect h.f_planid from t_Tqc_Locale_Trend_His h where h.f_planid=49710 3:556sselect count(1) from t_Tqc_Locale_Trend_His h where h.f_planid=49710 591s
这正常吗???
先把所有的数据导出为excel。
然后在excel中条件筛选后导入到你的新表。
也就是不通过SQL筛选,就不会影响速率了。
你不用导出了,直接建立新表,比如建立一个表emp,然后把你的表t_employeess复制过去,
INSERT /*+ APPEND */ INTO emp NOLOGGING SELECT * FROM t_employess;COMMIT;
复制好后你就可以对新建立的表进行操作,比如创建索引,删除不用的数据,REBUILD表等
相信经过这些后你的查询速度会很快的。一般来说数据库用久了,经常插入删除的表的存储会比较混乱,常常需要我们手工去REBUID这些表
当然如果你的数据结果设计本身就有问题,那没办法了别在繁忙的时候做这些事情哦
ALTER INDEX xxxx REBUILD ONLINE;
最好分区。
单纯想统计快点,可以考虑用oracle hint
如果存在分区的话,你可以根据分区来truncate掉表中的数据,如果分区上有全局索引的话,这时需要重建索引
WHILE TRUE LOOP
DELETE FROM 表名 t WHERE t.ROWNUM <=2000;
IF SQL%ROWCOUNT = 0 THEN
COMMIT;
EXIT;
END IF;
COMMIT;
END LOOP;