日期:2014-05-18  浏览次数:20504 次

一个select内存就没了。郁闷!!!!!高手看看
我一个数据库大概18G作用吧
其中一个表有16G左右
一个select 字段(不是select *)
内存就没了
我内存是1G的
怎么解决
该怎么做这个优化

------解决方案--------------------
分页查询
------解决方案--------------------
楼上正确.
对了一个16G的表,如果你用select * from tablename查询,就是有10G的内存也不够用啊.既内存足够,效率也相当低了.
一次性读取那么多记录,实际应用中也不可能用得了那么多啊
------解决方案--------------------
没有进行分页查询,要一下子查出来,基本是不可能的,你的电脑都动不了,再说了也没有必要全部查出来.
------解决方案--------------------
怎么分页查询???
举个例子说明
------解决方案--------------------
条件多时,生成临时表,建索引..
---
在条件列是否建了合理索引...

如果是05可用:

select *

from (select *,row=ROW_NUMBER () over (order by id)
from t
)t1
where row between (页数-1)*页记录数-1 and 页数*页记录数