mysql数据库加载太慢_mysql千万级数据库插入速度和读取速度的调整记录
一般情況下mysql上百萬數(shù)據(jù)讀取和插入更新是沒什么問題了,但到了上千萬級就會出現(xiàn)很慢,下面我們來看mysql千萬級數(shù)據(jù)庫插入速度和讀取速度的調(diào)整記錄吧。
(1)提高數(shù)據(jù)庫插入性能中心思想:盡量將數(shù)據(jù)一次性寫入到Data File和減少數(shù)據(jù)庫的checkpoint 操作。這次修改了下面四個配置項:
1)將 innodb_flush_log_at_trx_commit 配置設(shè)定為0;按過往經(jīng)驗設(shè)定為0,插入速度會有很大提高。
0: Write the log buffer to the log file and flush the log file every second, but do nothing at transaction commit.
1:the log buffer is written out to the log file at each transaction commit and the flush to disk operation is performed on the log file
2:the log buffer is written out to the file at each commit, but the flush to disk operation is not performed on it
2)將 innodb_autoextend_increment 配置由于默認8M 調(diào)整到 128M
此配置項作用主要是當tablespace 空間已經(jīng)滿了后,需要MySQL系統(tǒng)需要自動擴展多少空間,每次tablespace 擴展都會讓各個SQL 處于等待狀態(tài)。增加自動擴展Size可以減少tablespace自動擴展次數(shù)。
3)將 innodb_log_buffer_size 配置由于默認1M 調(diào)整到 16M
此配置項作用設(shè)定innodb 數(shù)據(jù)庫引擎寫日志緩存區(qū);將此緩存段增大可以減少數(shù)據(jù)庫寫數(shù)據(jù)文件次數(shù)。
4)將 innodb_log_file_size 配置由于默認 8M 調(diào)整到 128M
此配置項作用設(shè)定innodb 數(shù)據(jù)庫引擎UNDO日志的大小;從而減少數(shù)據(jù)庫checkpoint操作。
經(jīng)過以上調(diào)整,系統(tǒng)插入速度由于原來10分鐘幾萬條提升至1秒1W左右;注:以上參數(shù)調(diào)整,需要根據(jù)不同機器來進行實際調(diào)整。特別是 innodb_flush_log_at_trx_commit、innodb_log_buffer_size和 innodb_log_file_size 需要謹慎調(diào)整;因為涉及MySQL本身的容災(zāi)處理。
(2)提升數(shù)據(jù)庫讀取速度,重數(shù)據(jù)庫層面上讀取速度提升主要由于幾點:簡化SQL、加索引和分區(qū); 經(jīng)過檢查程序SQL已經(jīng)是最簡單,查詢條件上已經(jīng)增加索引。我們只能用武器:表分區(qū)。
-----------------------------------mysql提高insert into 插入速度的3種方法---------------------------------------
當mysql大批量插入數(shù)據(jù)的時候就會變的非常慢,?mysql提高insert into 插入速度的方法有三種:
第一種插入提速方法:
如果數(shù)據(jù)庫中的數(shù)據(jù)已經(jīng)很多(幾百萬條), 那么可以?加大mysql配置中的 bulk_insert_buffer_size,這個參數(shù)默認為8M
bulk_insert_buffer_size=100M
第二種mysql插入提速方法:
改寫所有 insert into 語句為?insert?delayed into
這個insert delayed不同之處在于:立即返回結(jié)果,后臺進行處理插入。
第三個方法: 一次插入多條數(shù)據(jù):
insert中插入多條數(shù)據(jù),舉例:
insert into table values('11','11'),('22','22'),('33','33')...;
mysql提高insert into 插入速度的3種方法
總結(jié)
以上是生活随笔為你收集整理的mysql数据库加载太慢_mysql千万级数据库插入速度和读取速度的调整记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: macpro如何清理磁盘空间_如何正确的
- 下一篇: ebs查看服务状态_浅析AWS KMS密