Re: [請益] 關於討論區程式的文章列表
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章