国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP+Mysql高并發解決

wuyangchun / 1838人閱讀

摘要:更多詳情,請看原文章批量插入性能優化相關文章高并發簡單解決方案隊列緩存批量入庫離線整合秒殺活動設計方案

在項目中,經常都會遇到高并發問題,如在某個時間點有100個人對同一數據進行更改,這樣就會產生問題,最后導致的數據會不準確,通常的解決高并發的方法有讀取數據時加緩存,寫入數據時添加到隊列,下面羅列一些處理高并發的常見方法供大家參考。

一、MySQL批量插入優化

對于一些數據量較大的系統,數據庫面臨的問題除了查詢效率低下,還有就是數據入庫時間長。特別像報表系統,每天花費在數據導入上的時間可能會長達幾個小時或十幾個小時之久。因此,優化數據庫插入性能是很有意義的。
經過對MySQL innodb的一些性能測試,發現一些可以提高insert效率的方法,供大家參考參考。

一條SQL語句插入多條數據。
常用的插入語句如:

INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) 
    VALUES ("0", "userid_0", "content_0", 0);
INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) 
    VALUES ("1", "userid_1", "content_1", 1);

修改成:

INSERT INTO `insert_table` (`datetime`, `uid`, `content`, `type`) 
    VALUES ("0", "userid_0", "content_0", 0), ("1", "userid_1", "content_1", 1);

修改后的插入操作能夠提高程序的插入效率。這里第二種SQL執行效率高的主要原因是合并后日志量(MySQL的binlog和innodb的事務讓日志)減少了,降低日志刷盤的數據量和頻率,從而提高效率。通過合并SQL語句,同時也能減少SQL語句解析的次數,減少網絡傳輸的IO。
這里提供一些測試對比數據,分別是進行單條數據的導入與轉化成一條SQL語句進行導入,分別測試1百、1千、1萬條數據記錄。

還可以在事務中進行插入處理。
更多詳情,請看原文章:MySQL批量SQL插入性能優化


相關文章:
【高并發簡單解決方案】redis隊列緩存 + mysql 批量入庫 + php離線整合
秒殺活動設計方案

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22526.html

相關文章

  • 并發簡單解決方案】redis隊列緩存 + mysql 批量入庫 + php離線整合

    摘要:獲取消息隊列中的腳本,拼接,批量入庫。批量入庫腳本天級統計腳本總結相對于其他復雜的方式處理高并發,這個解決方案簡單有效通過緩存抗壓,批量入庫解決數據庫瓶頸,離線計算解決統計數據,通過定期清理保證庫的大小。 需求背景:有個調用統計日志存儲和統計需求,要求存儲到mysql中;存儲數據高峰能達到日均千萬,瓶頸在于直接入庫并發太高,可能會把mysql干垮。 問題分析 思考:應用網站架構的衍化過...

    BigNerdCoding 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<