[請益] mssql_query的問題

看板PHP作者 (跟著鄉民進來看熱鬧)時間17年前 (2008/03/16 14:37), 編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/3 (看更多)
不知道有人遇過這個問題嗎??? 我用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去做分頁..可是一但資料筆數很多再加上查詢的欄位很多.. 就會如同上述一樣出現當掉的訊息...不知道有沒有什麼方法能夠解決呢??? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.172.138

03/16 15:00, , 1F
為什麼要一次抓三萬筆出來呢?不能 用 limit 先列10筆嘛?
03/16 15:00, 1F

03/16 15:03, , 2F
mssql沒有limit...
03/16 15:03, 2F

03/16 15:23, , 3F
mssql 有類似的吧? SELECT Top * n ?
03/16 15:23, 3F

03/16 15:29, , 4F
有top 沒錯..但是只能取前幾筆的資料....有人用top做分頁的
03/16 15:29, 4F

03/16 15:30, , 5F
的嗎??可以說一下怎麼做???top好像一定要和order一起用才可
03/16 15:30, 5F

03/16 15:31, , 6F
以做分頁.可是在mssql如果對3萬筆資料下order指令,不是會很
03/16 15:31, 6F

03/16 15:32, , 7F
慢嗎??
03/16 15:32, 7F

03/17 15:51, , 8F
你之前的作法已經ok了..會慢的原因請檢查一下index有沒有
03/17 15:51, 8F
文章代碼(AID): #17tC0n_q (PHP)
討論串 (同標題文章)
文章代碼(AID): #17tC0n_q (PHP)