Re: [請益] 關於討論區程式的文章列表

看板PHP作者 (寶貝豬)時間16年前 (2010/01/27 21:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《september02 (九月二號)》之銘言: : 像PTT這BBS : 1.文章列表中有個+,代表這文章你還沒有讀過 : 2.有個~,代表你讀過後又有新的推文 : 3.數字代表推文數 : 如果要在PHP中實現這個功能 : 3是很簡單,幾乎各種討論區程式都有 : 1大部份的討論區程式,都是利用HYPER LINK 點過後顏色會不同(CSS) : 來讓使用者判斷這文章是否已讀過 : 我的問題是在2這個功能,讀過後如果有新的回應,要出現某種符號 : 在我的預想中,要實現這個功能必須要記錄使用者讀過哪些文章以及讀的時間 : 在秀出文章列表時,才能比對該文章的更新時間和上次該使用者的讀取時間 : 來計算是否要出現那個新推文的符號 以上預想的這段沒錯, 那是一定要的. : 可是這樣恐怕會大幅拖累程式的效能 : 因為使用者每讀一次,就要用資料庫來記錄一筆包含ID,文章ID,timestamp的資料 : 假設記錄前一百篇文章(感覺PTT好像記錄的更多?) : 文章列表每頁秀20篇文章 : 那等於做出一個文章列表,就要多20次的SELECT動作 這個要看實際上的資料表如何設計, 以及有沒有建好索引, 以及你撈資料的SQL怎麼下? 通常下SQL會用left join來 聯結資料表, 減少重複性的查詢. 至於效能, 你得親自試 過後看滿不滿意再來評估要做到何種程度的優化? SQL語法優化/資料庫優化/程式優化/外部軟體優化/硬體優化). 優化 算是另一大課題了,可大可小看需要. : 雖然我的討論區人不像PTT那麼多,但是如果同時有200人在線上 : 這樣子恐怕電腦大部份的效能,都用在做文章列表了吧 : 有沒有什麼別的方法更有效率達到功能2呢? 目前看來這些都是必需的. 偷不了工, 減不了料. :) : 盼指教,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.115.151.184
文章代碼(AID): #1BO48guR (PHP)
文章代碼(AID): #1BO48guR (PHP)