informix和mysql数据量_informix数据库知识积累
三、informix中的某數據庫temp空間不足,造成無法使用order by查詢
場景:系統中某個查詢是order by查詢,點擊“查詢”,MyEclipse報錯如下:
Hibernate:……(此處是打印的SQL)
2014-11-25 09:39:56 ERROR JDBCExceptionReporter:78 - Cannot write sorted rows.
2014-11-25 09:39:56 ERROR JDBCExceptionReporter:78 - ISAM error: no free disk space for sort
2014-11-25 09:39:56 ERROR BaseAction:76 - java.lang.reflect.InvocationTargetException
……
將打印的SQL語句放到informix數據庫中執行,報錯如下:
(低版本的僅報錯:Cannot write sorted rows)
以上錯誤僅對數據量很大的表有,對于數據量小的表不存在該錯誤。經驗證,以上錯誤和用戶的電腦內存無關,是數據庫內存的問題。
select first n * from xxx order by xx;是先把表中所有數據order by,再first,所以當表數據量大時,這個查詢很占內存。
出錯原因:查詢的該表的數據量較大,informix中的某數據庫temp空間不足,造成無法使用order by查詢
解決辦法:設置該數據庫,增大informix中該庫的temp空間。在改例中,所查表的數據量是35萬條,把改表所在庫的temp內存增加到2G才可以進行帶Where條件的排序查詢,不帶where的排序查詢仍無法使用。
總結
以上是生活随笔為你收集整理的informix和mysql数据量_informix数据库知识积累的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: json mysql乱码问题_JSON数
- 下一篇: java 注解 属性 类型_跟光磊学Ja