
正文
oracle单个表上亿数据的存储,oracle数据库单表存储量多大
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle上亿表海量数据进行大批量数据删除有什么好的解决方案
truncate,意思为截断表,能够不占用资源的全部删除表,优点是速度快,缺点是删除不能恢复,不能按条件删除。delete,意思为删除,此操作占用redolog,优点能够快速恢复和选择删除,缺点是删除慢,大批量的删除不建议使用。
如果是整表删除且不考虑恢复,直接用truncate table 表名,如果是删除大部分数据,那么新建一个相同结构的表,插入保留的数据,将新表与原表互换表名即可。
应该是遇到高水位了吧。网上查下高水位的解决办法。为什么不换种方法来做表清理呢?这样可以避免高水位的问题,效率还高。创建临时表,将需要的数据插入临时表,删除原始表,rename临时表为原始表名,重建索引。
TABLE指令,也可能是从USER_TABLES里查询出若干表名),然后bat文件里写 sqlplus 用户名/密码@库名 del_tables.sql 如果sql文件的内容需要帮助写,那请你给出你要删除的表名,或者表名的规律,比如TEMP为开头的所有表。
相关问答
Q1: 为什么oracle一次存储超过14000条数据会存不进去
1、批量提交:在插入过程中使用批量提交的方式,而不是每插入一条数据就立即提交一次,可以减少提交的次数,提高性能。
2、全部资源肯定不可能的。因为oracle运行的时候不仅仅使用cpu,还有内存和硬盘。一般来说IO出现瓶颈的可能比较大。另外可以用nologging+append的方式来加速插入。
3、以sys登录为sysdbasqlplus /NOLOG或者(sqlplus sys/sys@localhost/orcl as sysdba,window系统下部署的 oracle数据库总是各种bug,我的必须添加ip地址指向才能连接)。
Q2: oracle存储过程效率问题,存储过程,每分钟1千条数据,有44多万数据,怎么...
对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
如果是在线事务系统,那么建立合适的索引非常重要,其次通过分区技术设立合理的分区键也可以大大提升更新前的查找定位效率。
总之写存储过程第一步是会写,第二步是要做好优化,否则当你的数据量很大的时候你的过程写的不好的话问题会马上暴露出来。
Q3: oracle单个数据库文件最大是多少?
oracle的数据文件最大大小是根据数据库中block大小定的。11g为例,创建的表空间默认block大小都是8K,每个数据文件中最可可以拥有4M个数据块。
数据库最多带65536,也就是64K个数据文件,去掉2-3个redolog,一般为3个。也就是65533个。
对于Oracle 10G数据库,表空间分2类。smallfile tablespace 每个表空间:1022个数据文件*4M数据块*DB_BLOCK_SIZE 如果数据库DB_BLOCK_SIZE=8K(最常见),那么以上得到32704GB(约32TB)。
一个表的行数理论上没有限制的,从每行记录占用空间来分析。对于32位Oracle数据库,逻辑块8k大致有以下数据: Oracle数据库允许有65533个数据文件, 每一个数据文件最大32G 根据每行记录占用的字节数可以算出大概的行数。
Q4: oracle中怎么删除过亿的数据
1、delete,意思为删除,此操作占用redolog,优点能够快速恢复和选择删除,缺点是删除慢,大批量的删除不建议使用。
2、如果是整表删除且不考虑恢复,直接用truncate table 表名,如果是删除大部分数据,那么新建一个相同结构的表,插入保留的数据,将新表与原表互换表名即可。
3、数据量较大没有快速的方法,除非是清空表,可用truncate的方式来删除。
4、需要509秒。oracle30亿的数据中删除20亿数据需要509秒处理流程,首先查看SQL的执行计划:执行计划正常,cost只有1,用到了主键索引,这个和服务器的性能等硬件也有关系。
Q5: 一个表格存储四五亿条,用什么数据库存储比较好。
能让用户自由建表、自定义数据格式,相当于网络版的数据库,对于你的情况,建一个产品价格信息表就可以了。建表后再设置登录帐号及权限,大家就可录入数据、共享数据了,至于操作界面、数据存储等细节由平台自动完成。
这部分数据,会放到HDFS上来存储。即一种分部式文件存储系统,存储成本很低,如果查询的话,就可以直接使用hive等工具,写SQL查询。当然,数据库现在发展很迅猛,比如TiDB,非关系数据库MongoDB,缓存Redis等。
数据量一般,比如百万级,用mysql,这个级别的数据量mysql处理还是比较快的。 数据量较小,比如十万以下,sqlite、access都可以。 上面是基于单表操作的数据量,你看着选。
(5)Hypertable:Hypertable是一个开源、可扩展的数据库,模仿Bigtable,支持分片。(6)AzureTables:WindowsAzureTableStorageService为要求大量非结构化数据存储的应用提供NoSQL性能。
关于oracle单个表上亿数据的存储和oracle数据库单表存储量多大的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







