使用自定義進(jìn)程
由于需要統(tǒng)計(jì)用戶的一些數(shù)據(jù),需要把用戶表的所有數(shù)據(jù)讀取到內(nèi)存,然后再做進(jìn)一步的統(tǒng)計(jì)和分析。所以會(huì)導(dǎo)致內(nèi)存占用增大。
所以有以下4個(gè)問題想請教
1.自定義進(jìn)程能否使用ini_set('memory_limit',256m)的這種代碼,因?yàn)槲蚁霝閱为?dú)這個(gè)進(jìn)程擴(kuò)大內(nèi)存的使用,如果在php.ini修改應(yīng)該是對所有的都生效。
2.自定義進(jìn)程能否手動(dòng)釋放內(nèi)存且立即生效(或者說立即生效是指不會(huì)觸發(fā)內(nèi)存溢出的錯(cuò)誤)
3.像這種用戶數(shù)據(jù)的統(tǒng)計(jì)分析用什么樣的方案比較合適?主要是涉及到遞歸查詢 計(jì)算和更新,如果用數(shù)據(jù)庫去處理也很麻煩。
4.像數(shù)據(jù)的批量插入數(shù)據(jù)庫,應(yīng)當(dāng)是一次性插入還是分批插入。比如有10萬條數(shù)據(jù)的數(shù)組,用array_chunk分批插入還是直接一次性插入
我的思路:
數(shù)據(jù)庫角度為什么不做增量查詢數(shù)據(jù)呢?
代碼層面上為什么不做增量數(shù)據(jù)丟到專門表或者redis呢?每天定時(shí)去處理這部分?jǐn)?shù)據(jù)呢?