亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決mysql性能問題

發布時間:2022-01-14 15:51:45 來源:億速云 閱讀:119 作者:小新 欄目:數據庫

這篇文章主要為大家展示了“如何解決mysql性能問題”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何解決mysql性能問題”這篇文章吧。

最近項目使用mysql遇到了性能問題。單表400W以上數據時, 增,刪,改,查 的速度都明顯下降。
我們是做呼叫中心的,平均1秒鐘就要處理20個呼叫,所以 最最保守的計算 1秒鐘也要對單表進行20次插入操作,還有更多的查詢操作,所以對性能要求略高。(有點兒跑題。。。。)
 
遇到了問題就要解決,優化!我們優化的步驟如下(過程中遇到的困難略):
1.優化索引,將所有sql語句,尤其是速度慢的都拿出來分析,一條一條的分析。(利用 EXPLAIN )要讓所有查詢都使用到索引。
2.優化數據庫本身,對my.cnf(my.ini)文件進行優化。但是個人覺得效果不是很明顯(請牛人指導。)
   my.cnf文件配置如下。(4核cpu 4G 內存)這個my.cnf 具體問題具體分析,配置起來也有很多事兒比較有講究的。
  所以需要逐步調試。(切忌不可大量修改后再重啟mysql....有可能啟動失敗。)
 
Java代碼 
[client] 
port=3306 
[mysql] 
default-character-set=utf8 
 
[mysqld] 
port=3306 
basedir="D:/Program Files/MySQL/MySQL Server 5.1/" 
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/" 
default-character-set=utf8 
default-storage-engine=INNODB 
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
max_connections=1000 
query_cache_size=120M 
table_cache=1024M 
tmp_table_size=32M 
thread_cache_size=64 
myisam_max_sort_file_size=100G 
myisam_sort_buffer_size=64M 
key_buffer_size=512M 
 
max_allowed_packet = 32M 
max_heap_table_size = 32M 
table_open_cache = 512M 
thread_concurrency = 8 
innodb_lock_wait_timeout = 50 
bulk_insert_buffer_size = 64M 
key_cache_block_size=2048 
 
skip-external-locking 
skip-name-resolve 
 
read_buffer_size=8M 
read_rnd_buffer_size=8M 
 
sort_buffer_size=64M 
 
innodb_additional_mem_pool_size=20M 
innodb_flush_log_at_trx_commit=1 
innodb_log_buffer_size=8M 
innodb_buffer_pool_size=512M 
innodb_log_file_size=24M 
innodb_thread_concurrency=10 
 
3.分表 分表是解決大數據量的最佳方案。
    我們的my 單表400萬 以上數據的時候就不符合性能要求了(我們對性能要求有點兒高)。但是我們一天產生的數據量就達到了單表200萬。。總不能1天就建立一套表出來吧?? 那1,2年以后 數據庫就會有600多套表(一套表有幾十張呢,也就是上萬張單表),看著都頭疼呀。。。。。
 
4.從業務上解決,實現曲線救國。(這也是我們最后采用的方法,這個方法不一定適用其他業務)
   我們的業務是這樣,1小時對流水數據結轉一次,生成統計數據。
   最后決定生成插入流水數據的時候分2套流水表插入(一套用來保存流水數據,另一套用來結轉統計數據。)
   為什么要分成2套呢?
   為了性能,用來保存流水數據的那套表就不去對它進行操作了。(起到備份數據之用。)
   用來結轉成統計數據的那套流水表,在結轉結束之后就會刪除掉以結轉的數據。
   這樣一來,結轉用的那套流水表的數據量就不會持續增長,也就保證了數據結轉的效率。
   希望對其他人 有點兒小啟示。。。。。。
   請大家不要笑我。。我的mysql 是盜版的。。。沒有mysql DBA給我調優。更沒有人會給我訂制我們專用的mysql
   只能這樣曲線救國的解決了。。。。

以上是“如何解決mysql性能問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石台县| 屯门区| 台北县| 民丰县| 株洲市| 南木林县| 凤凰县| 齐齐哈尔市| 牙克石市| 南充市| 丹东市| 曲水县| 辉南县| 和政县| 苏尼特右旗| 潼南县| 东乡族自治县| 镇平县| 共和县| 射阳县| 彭山县| 红桥区| 邯郸市| 武穴市| 周口市| 宜宾市| 榆林市| 眉山市| 莱西市| 磐石市| 舒兰市| 玛曲县| 长寿区| 平原县| 左云县| 德昌县| 河曲县| 阳西县| 彰化县| 马关县| 石渠县|