国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL切分查詢用法分析

2020-01-18 22:30:26
字體:
來源:轉載
供稿:網友

本文實例講述了MySQL切分查詢用法。分享給大家供大家參考,具體如下:

對于大查詢有時需要‘分而治之',將大查詢切分為小查詢: 每個查詢功能完全一樣,但只完成原來的一小部分,每次查詢只返回一小部分結果集。

刪除舊的數據就是一個很好地例子。定期清理舊數據時,如果一條sql涉及了大量的數據時,可能會一次性鎖住多個表或行,耗費了大量的系統資源,卻阻塞了其他很多小的但重要的查詢。將一個大得DELETE語句切分為較小的查詢時,可以盡量減少影響msql的性能,同時減少mysql復制造成的延遲。

例如,每個月會運行一次的語句,以清理三個月前的數據:

復制代碼 代碼如下:
mysql> DELETE FROM messages WHERE dt<DATE_SUB(NOW(), INTERVAL 3 MONTH);

可以用以下的方法來完成這樣的任務:

rows_affected = 0do {   rows_affected = do_query("DELETE FROM messages WHERE dt<DATE_SUB(NOW(), INTERVAL 3 MONTH) LIMIT 10000")}while rows_affected>0

一次刪除一萬行數據是個比較高效且對服務器影響較小的做法。同時如果每次刪除數據時暫停一會,可以將服務器原本的一次性壓力分散到一個較長的時間段中,從而減少刪除時鎖表鎖行的時間。

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數據庫鎖相關技巧匯總》及《MySQL常用函數大匯總

希望本文所述對大家MySQL數據庫計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 延长县| 方正县| 仁怀市| 襄汾县| 茌平县| 永康市| 昌江| 塘沽区| 山阴县| 麟游县| 昌平区| 舒城县| 探索| 凤凰县| 新乐市| 黄骅市| 沈阳市| 伊吾县| 平武县| 冷水江市| 东宁县| 垫江县| 兴城市| 滨州市| 屏边| 余干县| 昭平县| 香格里拉县| 安远县| 田阳县| 杭锦后旗| 沁水县| 丰台区| 周至县| 台山市| 霍山县| 太原市| 博爱县| 开远市| 柘荣县| 宁蒗|