日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql数据库加载太慢_mysql千万级数据库插入速度和读取速度的调整记录

發(fā)布時(shí)間:2025/4/5 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库加载太慢_mysql千万级数据库插入速度和读取速度的调整记录 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一般情況下mysql上百萬(wàn)數(shù)據(jù)讀取和插入更新是沒(méi)什么問(wèn)題了,但到了上千萬(wàn)級(jí)就會(huì)出現(xiàn)很慢,下面我們來(lái)看mysql千萬(wàn)級(jí)數(shù)據(jù)庫(kù)插入速度和讀取速度的調(diào)整記錄吧。

(1)提高數(shù)據(jù)庫(kù)插入性能中心思想:盡量將數(shù)據(jù)一次性寫(xiě)入到Data File和減少數(shù)據(jù)庫(kù)的checkpoint 操作。這次修改了下面四個(gè)配置項(xiàng):

1)將 innodb_flush_log_at_trx_commit 配置設(shè)定為0;按過(guò)往經(jīng)驗(yàn)設(shè)定為0,插入速度會(huì)有很大提高。

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 配置由于默認(rèn)8M 調(diào)整到 128M

此配置項(xiàng)作用主要是當(dāng)tablespace 空間已經(jīng)滿(mǎn)了后,需要MySQL系統(tǒng)需要自動(dòng)擴(kuò)展多少空間,每次tablespace 擴(kuò)展都會(huì)讓各個(gè)SQL 處于等待狀態(tài)。增加自動(dòng)擴(kuò)展Size可以減少tablespace自動(dòng)擴(kuò)展次數(shù)。

3)將 innodb_log_buffer_size 配置由于默認(rèn)1M 調(diào)整到 16M

此配置項(xiàng)作用設(shè)定innodb 數(shù)據(jù)庫(kù)引擎寫(xiě)日志緩存區(qū);將此緩存段增大可以減少數(shù)據(jù)庫(kù)寫(xiě)數(shù)據(jù)文件次數(shù)。

4)將 innodb_log_file_size 配置由于默認(rèn) 8M 調(diào)整到 128M

此配置項(xiàng)作用設(shè)定innodb 數(shù)據(jù)庫(kù)引擎UNDO日志的大小;從而減少數(shù)據(jù)庫(kù)checkpoint操作。

經(jīng)過(guò)以上調(diào)整,系統(tǒng)插入速度由于原來(lái)10分鐘幾萬(wàn)條提升至1秒1W左右;注:以上參數(shù)調(diào)整,需要根據(jù)不同機(jī)器來(lái)進(jìn)行實(shí)際調(diào)整。特別是 innodb_flush_log_at_trx_commit、innodb_log_buffer_size和 innodb_log_file_size 需要謹(jǐn)慎調(diào)整;因?yàn)樯婕癕ySQL本身的容災(zāi)處理。

(2)提升數(shù)據(jù)庫(kù)讀取速度,重?cái)?shù)據(jù)庫(kù)層面上讀取速度提升主要由于幾點(diǎn):簡(jiǎn)化SQL、加索引和分區(qū); 經(jīng)過(guò)檢查程序SQL已經(jīng)是最簡(jiǎn)單,查詢(xún)條件上已經(jīng)增加索引。我們只能用武器:表分區(qū)。

-----------------------------------mysql提高insert into 插入速度的3種方法---------------------------------------

當(dāng)mysql大批量插入數(shù)據(jù)的時(shí)候就會(huì)變的非常慢,?mysql提高insert into 插入速度的方法有三種:

第一種插入提速方法:

如果數(shù)據(jù)庫(kù)中的數(shù)據(jù)已經(jīng)很多(幾百萬(wàn)條), 那么可以?加大mysql配置中的 bulk_insert_buffer_size,這個(gè)參數(shù)默認(rèn)為8M

bulk_insert_buffer_size=100M

第二種mysql插入提速方法:

改寫(xiě)所有 insert into 語(yǔ)句為?insert?delayed into

這個(gè)insert delayed不同之處在于:立即返回結(jié)果,后臺(tái)進(jìn)行處理插入。

第三個(gè)方法: 一次插入多條數(shù)據(jù):

insert中插入多條數(shù)據(jù),舉例:

insert into table values('11','11'),('22','22'),('33','33')...;

mysql提高insert into 插入速度的3種方法

總結(jié)

以上是生活随笔為你收集整理的mysql数据库加载太慢_mysql千万级数据库插入速度和读取速度的调整记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。