Re: [請益] mssql_query的問題

看板PHP作者 (我是道明柏毅)時間17年前 (2008/03/16 17:36), 編輯推噓4(4010)
留言14則, 4人參與, 最新討論串2/3 (看更多)
※ 引述《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 實做分頁紀錄 SELECT * FROM ( SELECT TOP 5 * FROM ( SELECT TOP 10 * FROM table ORDER BY id DESC ) t1 ORDER BY id ) t2 ORDER BY id DESC 這樣就可以了吧~ 我沒有看過抓3萬筆資料出來要幹麼? -- ******************************************************** * Appleboy Blog * * http://blog.Wu-Boy.com/ * * Appleboy Life * * http://life.wu-boy.com/ * ******************************************************** -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.107.41

03/16 18:46, , 1F
統計資料....
03/16 18:46, 1F

03/16 20:49, , 2F
因為你要把三萬筆資料丟給 php 計算?
03/16 20:49, 2F

03/16 21:06, , 3F
我之前有問過統計大筆資料的問題...(參考前面的文章),後來我
03/16 21:06, 3F

03/16 21:07, , 4F
發現如果用那個方式跑的話,要統計20個相關的表格可能需要快
03/16 21:07, 4F

03/16 21:08, , 5F
30分鐘...所以我就想把資料都叫出來讓php跑,結果速度果然比
03/16 21:08, 5F

03/16 21:08, , 6F
較快..不過當一次統計三萬筆甚至更多的時候..就會有記憶體不
03/16 21:08, 6F

03/16 21:09, , 7F
足的情形...真是讓我傷透了腦筋....
03/16 21:09, 7F

03/17 15:55, , 8F
你會慢的原因應該是index的關係..不然區區幾萬筆不太可能
03/17 15:55, 8F

03/17 15:56, , 9F
會慢到那裡去..
03/17 15:56, 9F

03/17 19:48, , 10F
不過如果資料庫的欄位都設成index的話,在新增和更新上不是會
03/17 19:48, 10F

03/17 19:49, , 11F
比較慢嗎??
03/17 19:49, 11F

03/19 12:00, , 12F
只需要將有必要的設成index..另外比起新增及修改...
03/19 12:00, 12F

03/19 12:01, , 13F
查詢才是最大量使用的部份..
03/19 12:01, 13F

03/19 14:56, , 14F
大部分用 index 都是在查詢方面效能改變很大
03/19 14:56, 14F
文章代碼(AID): #17tEeKCq (PHP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #17tEeKCq (PHP)