mysql - 百萬行的表中是否盡量避免使用update等sql語句?
問題描述
問題解答
回答1:百萬條數(shù)據(jù)都要已讀?
--------以下是更新答案--------這個得看你用的什么數(shù)據(jù)庫,一般情況下百萬條數(shù)據(jù)對于關(guān)系型的Oracle,DB2這些其實是沒有殺傷力的。關(guān)鍵看你怎么用它。這張表的數(shù)據(jù)是增量的,目前是百萬以后可能是千萬。所以,使用update,delete這些語句本身是沒問題的。但是表設(shè)計我感覺可以適當(dāng)改善下。
建議:百萬條數(shù)據(jù),假如每個用戶每次只用1000行數(shù)據(jù)。那剩下的那么多數(shù)據(jù)其實是可以放到一個歷史拉鏈表中的。用一個結(jié)果表(只存少部分?jǐn)?shù)據(jù))供用戶操作,也就是說只保留一些未讀消息之類的(這個看需求)
結(jié)論:update的使用是沒問題,但是數(shù)據(jù)庫的設(shè)計也是很重要的。
回答2:沒問題的。你update幾行會有問題?那你explain sql看看吧
回答3:-________-’’ ~慢的原因應(yīng)該是你的狀態(tài)0和1,因為你要查找0的數(shù)據(jù),然后更新。
所以問題在于:查找這幾十條數(shù)據(jù),應(yīng)該是指定的數(shù)據(jù)id吧?根據(jù)id(主鍵或者有索引的條件)來更新,百萬千萬毫無問題。
相關(guān)文章:
1. 數(shù)據(jù)庫 - mysql如何處理數(shù)據(jù)變化中的事務(wù)?2. 網(wǎng)絡(luò)傳輸協(xié)議 - 以下三種下載方式有什么不同?如何用python模擬下載器下載?3. angular.js - Angular路由和express路由的組合使用問題4. 如何修改phpstudy的phpmyadmin放到其他地方5. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?6. 表單提交驗證,沒反應(yīng),求老師指點(diǎn)7. 我的html頁面一提交,網(wǎng)頁便顯示出了我的php代碼,求問是什么原因?8. 在mac下出現(xiàn)了兩個docker環(huán)境9. tp6表單令牌10. javascript - canvas 可以實現(xiàn) PS 魔法橡皮擦的功能嗎?
