在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  數(shù)據(jù)庫/ MySQL update的效率問題?

MySQL update的效率問題?

比如我要更新用戶的已讀和未讀信息,數(shù)據(jù)庫中有一個字段 isread (0表示未讀 1表示已讀)

由于判斷標準是,當用戶點擊【消息評論】就認為數(shù)據(jù)已讀了。

那問題來了,sql語句是直接用

UPDATE ftm_message SET isread =1 where uid = uid 呢?

還是先把那26條未讀的數(shù)據(jù)先取出來 在用 for循環(huán)逐條更新狀態(tài)呢?

請問那種效率要高一點啊

回答
編輯回答
黑與白

你說的這種,還是以實際業(yè)務需求(產(chǎn)品人員)為準吧。需求不一樣,做法不一樣。

第一種的bug就是所有消息都標記已讀(可能會出現(xiàn)未看到的消息也標記,但性能會更優(yōu))
第二種,無第一種bug,但性能會稍有影響。

決定權(quán)由需求方?jīng)Q定。你是簡單問題復雜化了。


以上方法不考慮其他方案解決性能問題(如nosql等)

2018年1月1日 19:28
編輯回答
離魂曲

這種你可以自己做實驗試試,多做幾次求個均值什么的,哪里用得著問嘛。

還有這種小數(shù)據(jù)量,其實沒什么差別,如果數(shù)據(jù)很大,可以把多個update語句批量執(zhí)行,而不是for循環(huán)一條一條執(zhí)行,速度會快很多

2017年8月14日 09:42