亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

MySQL數據庫的性能調整

添加時間:2014-4-30 17:24:51  添加: 思海網絡 
MySQL的性能調整:

  INSERT查詢的速度:

  插入一個記錄的時間由下列組成:

  連接:(3)

  發送查詢給服務器:(2)

  分析查詢:(2)

  插入記錄:(1 x 記錄大小)

  插入索引:(1 x 索引)

  關閉:(1)

  這里的數字有點與總體時間成正比。這不考慮打開表的初始開銷(它為每個并發運行的查詢做一次)。

  表的大小以N log N (B 樹)的速度減慢索引的插入。

  加快插入的一些方法:

  如果你同時從同一客戶插入很多行,使用多個值表的INSERT語句。這比使用分開INSERT語句快(在一些情況中幾倍)。

  如果你從不同客戶插入很多行,你能通過使用INSERT DELAYED語句得到更高的速度。

  注意,用MyISAM,如果在表中沒有刪除的行,能在SELECT:s正在運行的同時插入行。

  當從一個文本文件裝載一個表時,使用LOAD DATA INFILE。這通常比使用很多INSERT語句快20倍。當表有很多索引時,有可能多做些工作使得LOAD DATA INFILE更快些。使用下列過程:

  有選擇地用CREATE TABLE創建表。例如使用mysql或Perl-DBI。

  執行FLUSH TABLES,或外殼命令mysqladmin flush-tables。

  使用myisamchk --keys-used=0 -rq /path/to/db/tbl_name。這將從表中刪除所有索引的使用。

  用LOAD DATA INFILE把數據插入到表中,這將不更新任何索引,因此很快。

  如果你有myisampack并且想要壓縮表,在它上面運行myisampack.

  用myisamchk -r -q /path/to/db/tbl_name再創建索引。這將在將它寫入磁盤前在內存中創建索引樹,并且它更快,因為避免大量磁盤尋道。結果索引樹也被完美地平衡。

  執行FLUSH TABLES,或外殼命令mysqladmin flush-tables。

  這個過程將被構造進在MySQL的某個未來版本的LOAD DATA INFILE。

  你可以鎖定你的表以加速插入。

   mysql> LOCK TABLES a WRITE;mysql> INSERT INTO a VALUES (1,23),(2,34),(4,33);mysql> INSERT INTO a VALUES (8,26),(6,29);mysql> UNLOCK TABLES;主要的速度差別是索引緩沖區僅被清洗到磁盤上一次,在所有INSERT語句完成后。一般有與有不同的INSERT語句那樣奪的索引緩沖區清 洗。如果你能用一個單個語句插入所有的行,鎖定就不需要。鎖定也將降低多連接測試的整體時間,但是對某些線程最大等待時間將上升(因為他們等待鎖)。例 如:

  thread 1 does 1000 insertsthread 2, 3, and 4 does 1 insert

   thread 5 does 1000 inserts如果你不使用鎖定,2、3和4將在1和5前完成。如果你使用鎖定,2、3和4將可能不在1或5前完成,但是整體時間應該快大約40%。因為 INSERT, UPDATE和DELETE操作在MySQL中是很快的,通過為多于大約5次連續不斷地插入或更新一行的東西加鎖,你將獲得更好的整體性能。如果你做很多 一行的插入,你可以做一個LOCK TABLES,偶爾隨后做一個UNLOCK TABLES(大約每1000行)以允許另外的線程存取表。這仍然將導致獲得好的性能。當然,LOAD DATA INFILE對裝載數據仍然是更快的。

關鍵字:MySQL、數據庫、性能

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站