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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

如何改善mysql数据装载操作效率的方法_详述如何提高MySQL中数据装载效率

發布時間:2023/12/15 数据库 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何改善mysql数据装载操作效率的方法_详述如何提高MySQL中数据装载效率 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘抄自:http://database.ctocio.com.cn/153/9232653.shtml

很多時候關心的是優化SELECT 查詢,因為它們是最常用的查詢,而且確定怎樣優化它們并不總是直截了當。相對來說,將數據裝入數據庫是直截了當的。然而,也存在可用來改善數據裝載操作效率的策略,其基本原理如下:

成批裝載較單行裝載更快,因為在裝載每個記錄后,不需要刷新索引高速緩存;可在成批記錄裝入后才刷新。

在表無索引時裝載比索引后裝載更快。如果有索引,不僅必須增加記錄到數據文件,而且還要修改每個索引以反映增加了的新記錄。

較短的SQL 語句比較長的SQL 語句要快,因為它們涉及服務器方的分析較少,而且還因為將它們通過網絡從客戶機發送到服務器更快。這些因素中有一些似乎微不足道(特別是最后一個因素),但如果要裝載大量的數據,即使是很小的因素也會產生很大的不同結果。我們可以利用上述的一般原理推導出幾個關于如何最快地裝載數據的實際結論:

LOAD?DATA(包括其所有形式)比INSERT 效率高,因為其成批裝載行。索引刷新較少,并且服務器只需分析和解釋一條語句而不是幾條語句。

LOAD DATA 比LOAD DATA LOCAL 效率更高。利用LOAD DATA,文件必須定位在服務器上,而且必須具有FILE?權限,但服務器可從磁盤直接讀取文件。利用LOAD DATA LOCAL,客戶機讀取文件并將其通過網絡發送給服務器,這樣做很慢。

如果必須使用INSERT,應該利用允許在單個語句中指定多行的形式,例如:

可在語句中指定的行越多越好。這樣會減少所需的語句數目,降低索引刷新量。如果使用mysqldump 生成數據庫備份文件,應該使用--extended-insert 選項,使轉儲文件包含多行INSERT 語句。還可以使用- - o p t(優化) ,它啟用--extended-insert 選項。反之,應該避免使用mysqldump 的--complete-insert 選項;此選項會導致INSERT 語句為單行,執行時間更長,比不用--complete-insert 選項生成的語句需要更多的分析。

使用壓縮了的客戶機/服務器協議以減少網絡數據流量。對于大多數MySQL客戶機,可以用--compress 命令行選項來指定。它一般只用于較慢的網絡,因為壓縮需要占用大量的處理器時間。

讓MySQL插入缺省值;不要在INSERT 語句中指定將以任意方式賦予缺省值的列。平均來說,這樣做語句會更短,能減少通過網絡傳送給服務器的字符數。此外,語句包含的值較少,服務器所進行的分析和轉換就會較少。

如果表是索引的,則可利用批量插入(

總結

以上是生活随笔為你收集整理的如何改善mysql数据装载操作效率的方法_详述如何提高MySQL中数据装载效率的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。