推 DLMC:不確定你現在還有沒有時間,或有精力去修改, 02/05 10:21
→ DLMC:但是如果改用CoreData在效能及程式碼的管理上, 02/05 10:22
→ DLMC:會有很大的改善。 02/05 10:22
推 DLMC:CoreData Programming Guide有兩段可以參考一下: 02/05 10:54
→ chengreg:喔?謝謝D大,因為都用Sqlite所以沒去瞭解過coerData 02/05 13:10
→ chengreg:小弟去試試看 02/05 13:10
→ kusowan:我想直接放到UITable不是個好的選擇 02/05 13:29
推 DLMC:同意kusowan大,如果在UITableView delegate處理資料, 02/05 19:42
→ DLMC:會重重影響到效能。 02/05 19:42
→ chengreg:不太明瞭K大的意思,K大是指將Result放到UITable?還是? 02/06 10:00
推 Adonisy:處理這麼大量的資料,本來就不建議啊... 02/06 11:59
推 popcorny:你是要把18萬資料都放進UITableView. 還是只有查詢出部分 02/06 13:32
→ popcorny:再把部分資料放進UITablewView? 02/06 13:33
→ popcorny:有建index..且只查出部分資料應該是花不到多少啊.. 02/06 13:33
→ chengreg:回P大:是撈取後於UITableView呈現資料,但是While回圈造成 02/06 14:54
→ chengreg:時耗,Query DB沒有耗時多少時間 02/06 14:55
推 popcorny:既然跟query db沒關..那標題就不應該扯到sqlite囉.. 02/06 15:13
→ popcorny:你把你的tableView:heightForRowAtIndexPath:這邊貼出來 02/06 15:13
→ chengreg:回P大,還是跟Sqlite有關,問題在FMResultSet讀取每筆資料 02/06 15:17
→ chengreg:需要用到While回圈把資料寫入NSDictionary內,這個時間 02/06 15:18
→ chengreg:消耗最久,所以還沒將資料放到UITableView上就要耗時約40s 02/06 15:18
推 popcorny:請問FMResultSet裡面有幾筆? 如果超過100筆 02/06 15:40
→ popcorny:可否用limit來限制query出來的數量? 02/06 15:40
→ popcorny:還有是否可以只select出需要呈現的column..而不要用 02/06 15:41
→ popcorny:select *這種把所有資料都撈出來的行為 02/06 15:41
→ chengreg:回P大,當然,小弟一定不敢用select *這種可怕的東西,但由 02/06 15:47
→ chengreg:於PM要求不可以分頁顯示(下拉10筆)的方式,所以必然先撈出 02/06 15:49
→ chengreg:來,T__T 02/06 15:49
推 popcorny:即使PM要求不要分頁顯示..但是實作上還是可以模擬這種 02/06 16:29
→ popcorny:行為..這種我們稱為infinite scroll.. 簡單講,就是捲到 02/06 16:30
→ popcorny:boundary..這再透過limit,offset去query下個window的data 02/06 16:30
→ chengreg:回p大:恩~~小弟也是這樣想,架構要大改 T_T 謝謝P大 02/06 17:00
推 aecho:如果問題是在db上,那CoreData不見得會比較快… 02/07 06:39
→ aecho:上面這篇連結的作者,最後從CoreData改回用FMDB 02/07 06:44
→ aecho:就為了解決CoreData造成的效能問題。 02/07 06:45