<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        MySQL改善數據裝載操作效率的策略

        來源:懂視網 責編:小采 時間:2020-11-09 14:37:24
        文檔

        MySQL改善數據裝載操作效率的策略

        MySQL改善數據裝載操作效率的策略:多時候關心的是優化SELECT 查詢,因為它們是最常用的查詢,而且確定怎樣優化它們并不總是直截了當。相對來說,將數據裝入數據庫是直截了當的。然而,也存在可用來改善數據裝載操作效率的策略,其基本原理如下: 成批裝載較單行裝載更快,因為在裝載每個記錄
        推薦度:
        導讀MySQL改善數據裝載操作效率的策略:多時候關心的是優化SELECT 查詢,因為它們是最常用的查詢,而且確定怎樣優化它們并不總是直截了當。相對來說,將數據裝入數據庫是直截了當的。然而,也存在可用來改善數據裝載操作效率的策略,其基本原理如下: 成批裝載較單行裝載更快,因為在裝載每個記錄

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

        多時候關心的是優化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 語句中指定將以任意方式賦予缺省值的列。平均來說,這樣做語句會更短,能減少通過網絡傳送給服務器的字符數。此外,語句包含的值較少,服務器所進行的分析和轉換就會較少。

        如果表是索引的,則可利用批量插入( LOAD DATA 或多行的INSERT 語句)來減少索引的開銷。這樣會最小化索引更新的影響,因為索引只需要在所有行處理過時才進行刷新,而不是在每行處理后就刷新。

        如果需要將大量數據裝入一個新表,應該創建該表且在未索引時裝載,裝載數據后才創建索引,這樣做較快。一次創建索引(而不是每行修改一次索引)較快。

        如果在裝載之前刪除或禁用索引,裝入數據后再重新創建或啟用索引可能使裝載更快。如果想對數據裝載使用刪除或禁用策略,一定要做一些實驗,看這樣做是否值得(如果將少量數據裝入一個大表中,重建和索引所花費的時間可能比裝載數據的時間還要長)。

        可用DROP INDEX 和CREATE INDEX 來刪除和重建索引。另一種可供選擇的方法是利用myisamchk 或isamchk 禁用和啟用索引。這需要在MySQL服務器主機上有一個帳戶,并對表文件有寫入權。為了禁用表索引,可進入相應的數據庫目錄,執行下列命令之一:

        對具有.MYI 擴展名的索引文件的MyISAM 表使用myisamchk,對具有.ISM 擴展名的索引文件的ISAM 表使用isamchk。在向表中裝入數據后,按如下激活索引:

        如果決定使用索引禁用和激活,應該使用第13章中介紹的表修復鎖定協議以阻止服務器同時更改鎖(雖然此時不對表進行修復,但要對它像表修復過程一樣進行修改,因此需要使用相同的鎖定協議)。

        上述數據裝載原理也適用于與需要執行不同操作的客戶機有關的固定查詢。例如,一般希望避免在頻繁更新的表上長時間運行SELECT 查詢。長時間運行SELECT 查詢會產生大量爭用,并降低寫入程序的性能。一種可能的解決方法為,如果執行寫入的主要是INSERT 操作,那么先將記錄存入一個臨時表,然后定期地將這些記錄加入主表中。如果需要立即訪問新記錄,這不是一個可行的方法。但只要能在一個較短的時間內不訪問它們,就可以使用這個方法。使用臨時表有兩個方面的好處。首先,它減少了與主表上SELECT 查詢語句的爭用,因此,執行更快。其次,從臨時表將記錄裝入主表的總時間較分別裝載記錄的總時間少;相應的索引高速緩存只需在每個批量裝載結束時進行刷新,而不是在每行裝載后刷新。這個策略的一個應用是進入Web 服務器的Web 頁訪問MySQL數據庫。在此情形下,可能沒有保證記錄立即進入主表的較高權限。

        如果數據并不完全是那種在系統非正常關閉事件中插入的單個記錄,那么減少索引刷新的另一策略是使用MyISAM 表的DELAYED_KEY_WRITE 表創建選項(如果將MySQL用于某些數據錄入工作時可能會出現這種情況)。此選項使索引高速緩存只偶爾刷新,而不是在每次插入后都要刷新。

        如果希望在服務器范圍內利用延遲索引刷新,只要利用--delayed-key-write 選項啟動mysqld 即可。在此情形下,索引塊寫操作延遲到必須刷新塊以便為其他索引值騰出空間為止,或延遲到執行了一個flush-tables 命令后,或延遲到該索引表關閉。

        (責任編輯:銘銘 mingming_ky@126.com TEL:(010)68476636)

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        MySQL改善數據裝載操作效率的策略

        MySQL改善數據裝載操作效率的策略:多時候關心的是優化SELECT 查詢,因為它們是最常用的查詢,而且確定怎樣優化它們并不總是直截了當。相對來說,將數據裝入數據庫是直截了當的。然而,也存在可用來改善數據裝載操作效率的策略,其基本原理如下: 成批裝載較單行裝載更快,因為在裝載每個記錄
        推薦度:
        標簽: 操作 數據 效率
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产亚洲免费的视频看| 亚洲精品专区在线观看| 伊人久久综在合线亚洲2019| 精品无码一级毛片免费视频观看 | 亚洲成年看片在线观看| 国产精品亚洲色图| 免费A级毛片在线播放不收费| 亚洲AV无码国产一区二区三区 | 成人黄色免费网站| 亚洲高清中文字幕| xxxxx免费视频| 亚洲日本久久久午夜精品| 久久受www免费人成_看片中文| 亚洲天堂2016| 国产精品免费看久久久久| 国产成人综合亚洲| 国产亚洲日韩在线三区| 人妻在线日韩免费视频| 亚洲视频手机在线| 成全视频在线观看免费高清动漫视频下载 | 成全影视免费观看大全二| 亚洲爆乳成av人在线视菜奈实| 国产午夜影视大全免费观看| 成人福利在线观看免费视频| 亚洲日本va中文字幕久久| 麻豆成人久久精品二区三区免费| 亚洲免费观看网站| 亚洲精品无码专区久久同性男| a毛片免费全部在线播放**| 亚洲综合色一区二区三区小说| 成人毛片18岁女人毛片免费看| 日韩在线视频免费| 久久精品国产亚洲AV高清热| 国内自产少妇自拍区免费| 久久最新免费视频| 456亚洲人成在线播放网站| 久久久久国产亚洲AV麻豆 | 777亚洲精品乱码久久久久久| 麻豆精品国产免费观看| 国产精品视频全国免费观看| 亚洲免费观看在线视频|