当前位置:首页 » 编程语言 » sql内存溢出
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql内存溢出

发布时间: 2022-02-09 09:32:32

sql Server 2014 查询出数据(大概30万条数据),复制时出错,弹出如下对话框,怎么办

数据量太大了啊。

OutOfMemoryException就是内存溢出异常。

那么大的数据,复制时用的什么?剪贴板?超过了剪贴板的内存大小了吧。

这么大的数据量,一般应该使用导出工具,批量导出才对。

㈡ 内存外溢提示:***【执行SQL语句错误】*** 错误号:-2147217900 错误描述:内存溢出 Powered By 二哥电影

如果你做过maxcms,也许碰到这个问题,“错误号:-2147217900 错误描述:内存溢出
”,这种问题一般都是采集资源后导致的问题,这个是日文所致,请操作
1、后台----2、工具----3、内存溢出修复工具。步骤就是上面的三步。挺简单的。这是一个问题,写出来和新手们分享下。

㈢ navicat for mysql 导入.sql 大文件 报out of memory 错误,怎么解决

解决的方案是这样的:


内存不足,可以适当修改以下参数:(my.ini,my.cnf中的【mysqld】)


key_buffer_size =128M


table_cache =256


sort_buffer_size =2M


read_buffer_size =2M


read_rnd_buffer_size =2M


tmp_table_size=16M


innodb_buffer_pool_size = 128M


innodb_additional_mem_pool_size = 8M


innodb_log_buffer_size = 1M

㈣ 执行SQL语句错误 错误号:-2147217900 错误描述:内存溢出 具体要怎么解决 步骤详细点,我是新手谢谢

执行出现-2147217900-原卡号编号无效-microsoft ole db provider for sql server-

㈤ 一条SQL语句在Access里通过,但在DELPHI里却报内存溢出

既然是同一条语句,是不是前面access里面做了之后没有rollback,第二次插入当然会报错了,主键是唯一的麽

㈥ 做报表时执行sql时内存溢出怎么办

分页查询 rownum

㈦ JAVA查询数据库出现内存溢出

读取的时候内存不足了,你可以增大myeclipse的内存,在myeclise.ini里面,调大各个属性,然后你读取的时候存对象里后,通过byte字节来操作,用缓冲流,写入到磁盘中。

㈧ sql server 执行循环插入100万条数据,当插入10万条左右时内存溢出了

CREATE TABLE #ta(A1 int,ID bigint NOT NULL IDENTITY(1,1));go
DECLARE @max AS INT, @rc AS INT;
SET @max = 1000000;
SET @rc = 1;
INSERT INTO #ta(A1) select 1
WHILE @rc < ceiling(log(@max) / log(2))
BEGIN
INSERT INTO #ta(A1) SELECT 1 FROM #ta;
SET @rc = @rc + 1 ;
END
select @max = @max - @@IDENTITY

INSERT INTO #ta(A1)
SELECT 1 FROM #ta where id <= @max

insert into book3
select 'a'+ltrim(str(id)),'b'+ltrim(str(id)),'c'+ltrim(str(id)),'d'+ltrim(str(id)),'e'+ltrim(str(id)),'2-12-2012'
from #ta

㈨ 你好,java 向数据库添加大量数据时内存溢出 在不改变内存的情况下如何解决 你当时是怎么解决的

比如想将一个1000W数据的数据库表,导出到文件;此时,你要么进行分页,oracle当然用三层包装即可,mysql用limit,不过分页每次都会新的查询,而且随着翻页,会越来越慢,其实我们想拿到一个句柄,然后向下游动,编译一部分数据(如10000行)将写文件一次(写文件细节不多说了,这个是最基本的),需要注意的时候每次buffer的数据,在用outputstream写入的时候,最好flush一下,将缓冲区清空下;接下来,执行一个没有where条件的SQL,会不会将内存撑爆?是的,这个问题我们值得去思考下,通过API发现可以对SQL进行一些操作,例如,通过:PreparedStatement statement = connection.prepareStatement(sql),这是默认得到的预编译,还可以通过设置:PreparedStatement statement = connection.prepareStatement(sql , ResultSet.TYPE_FORWARD_ONLY , ResultSet.CONCUR_READ_ONLY);
来设置游标的方式,以至于游标不是将数据直接cache到本地内存,然后通过设置statement.setFetchSize(200);设置游标每次遍历的大小;OK,这个其实我用过,oracle用了和没用没区别,因为oracle的jdbc API默认就是不会将数据cache到java的内存中的,而mysql里头设置根本无效,我上面说了一堆废话,呵呵,我只是想说,java提供的标准API也未必有效,很多时候要看厂商的实现机制,还有这个设置是很多网上说有效的,但是这纯属抄袭;对于oracle上面说了不用关心,他本身就不是cache到内存,所以java内存不会导致什么问题,如果是mysql,首先必须使用5以上的版本,然后在连接参数上加上useCursorFetch=true这个参数,至于游标大小可以通过连接参数上加上:defaultFetchSize=1000来设置,例如:
jdbc:mysql://xxx.xxx.xxx.xxx:3306/abc?zeroDateTimeBehavior=convertToNull&useCursorFetch=true&defaultFetchSize=1000
上次被这个问题纠结了很久(mysql的数据老导致程序内存膨胀,并行2个直接系统就宕了),还去看了很多源码才发现奇迹竟然在这里,最后经过mysql文档的确认,然后进行测试,并行多个,而且数据量都是500W以上的,都不会导致内存膨胀,GC一切正常,这个问题终于完结了。

㈩ 数据库查询大数据内存溢出解决办法

首先,这是你内存不够,机器配置较低,所以可以先用虚拟内存替代物理内存,在我的电脑->右键->属性->高级->性能设置->高级->虚拟内存更改->选中磁盘->自定义大小->设置->确定
其次,优化SQL语句,不要查询无用、重复的数据