Re: [請益] mssql_query的問題
※ 引述《okdla (跟著鄉民進來看熱鬧)》之銘言:
: 不知道有人遇過這個問題嗎???
: 我用mssql_query擷取3萬筆資料結果當掉了
: 出現allowed memory size of xxx bytes...
: 我上google去找解決的方法...發現可以用ini_set("memory_lmit",xx)
: 來解決,於是我把我的memory_limit一直加大到500M,終於解決了
: 可是因為資料筆數會一直增加,所以以後查詢的時候一定又會爆記憶體
: 那我就必須一直增加memory_limit,可是主機的記憶體大小只有1G,電腦上的
: 分頁記憶大小也才500M,這樣會對主機有什麼不好的影響嗎???
: 再來就是,mssql並不像mysql有limit 的功能,雖然有top 但是卻不是很好用
: 所以在擷取資料的時候沒有辦法分頁的擷取....只能一次把全部的資料取出來
: 然後再用mssql_data_seek去做分頁..可是一但資料筆數很多再加上查詢的欄位很多..
: 就會如同上述一樣出現當掉的訊息...不知道有沒有什麼方法能夠解決呢???
我找到解決的方法了...
我發現當mssql_query這個程式在每次查詢200筆(是依我的資料表來說)之內memory都不會
增加(我是用memory_get_usage來實驗的)
所以如果要查上萬筆的資料只要做迴圈利用top n 和 order by 來抓取資料進陣列
就不會有記憶體衝爆的問題了...
3萬筆資料(以我的資料表來說)的memory用陣列儲存不會超過250M(不過欄位一定不能有text)
所以這個方法在資料筆數小於10萬筆(可能memory_limit要設大到900M)都蠻好用的...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.230.168.159
→
03/18 20:37, , 1F
03/18 20:37, 1F
→
03/19 12:02, , 2F
03/19 12:02, 2F
→
03/19 12:03, , 3F
03/19 12:03, 3F
→
03/19 13:13, , 4F
03/19 13:13, 4F
→
03/19 13:14, , 5F
03/19 13:14, 5F
→
03/19 13:15, , 6F
03/19 13:15, 6F
→
03/19 13:18, , 7F
03/19 13:18, 7F
→
03/19 13:19, , 8F
03/19 13:19, 8F
→
03/19 13:20, , 9F
03/19 13:20, 9F
→
03/19 13:20, , 10F
03/19 13:20, 10F
→
03/19 13:21, , 11F
03/19 13:21, 11F
→
03/19 13:21, , 12F
03/19 13:21, 12F
→
03/19 13:21, , 13F
03/19 13:21, 13F
→
03/20 00:30, , 14F
03/20 00:30, 14F
→
03/20 11:03, , 15F
03/20 11:03, 15F
→
03/20 11:04, , 16F
03/20 11:04, 16F
→
03/20 11:06, , 17F
03/20 11:06, 17F
→
03/20 11:06, , 18F
03/20 11:06, 18F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
4
11