當前位置:首頁 » 編程語言 » 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語句,不要查詢無用、重復的數據