mysql - 百萬行的表中是否盡量避免使用update等sql語句?
問題描述
問題解答
回答1:百萬條數(shù)據(jù)都要已讀?
--------以下是更新答案--------這個得看你用的什么數(shù)據(jù)庫,一般情況下百萬條數(shù)據(jù)對于關(guān)系型的Oracle,DB2這些其實是沒有殺傷力的。關(guān)鍵看你怎么用它。這張表的數(shù)據(jù)是增量的,目前是百萬以后可能是千萬。所以,使用update,delete這些語句本身是沒問題的。但是表設(shè)計我感覺可以適當改善下。
建議:百萬條數(shù)據(jù),假如每個用戶每次只用1000行數(shù)據(jù)。那剩下的那么多數(shù)據(jù)其實是可以放到一個歷史拉鏈表中的。用一個結(jié)果表(只存少部分數(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. node.js - mongodb查找子對象的名稱為某個值的對象的方法2. javascript - QQ第三方登錄的問題3. 測試自動化html元素選擇器元素ID或DataAttribute [關(guān)閉]4. 運行python程序時出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯誤?5. spring-mvc - spring-session-redis HttpSessionListener失效6. 在mac下出現(xiàn)了兩個docker環(huán)境7. 利用IPMI遠程安裝centos報錯!8. mysql - 查詢 修改數(shù)據(jù)庫優(yōu)化問題吧9. 正在使用electron和node.js做桌面應(yīng)用,需要實時監(jiān)聽是否有網(wǎng)絡(luò)連接,node或者electron是否可以做到10. java - Spring boot 讀取 放在 jar 包外的,log4j 配置文件,系統(tǒng)有創(chuàng)建日志文件,不寫入日志信息。

網(wǎng)公網(wǎng)安備