偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MySQL查詢用調(diào)度與鎖定來調(diào)優(yōu)

數(shù)據(jù)庫 MySQL
此文主要向大家講述的是利用調(diào)度與鎖定對MySQL查詢進行優(yōu)調(diào)的實際操作流程,以下就是文章的具體內(nèi)容描述,望你會有所收獲。

以下的文章主要介紹的是利用調(diào)度與鎖定對MySQL查詢進行優(yōu)調(diào),在實際的操作中我們經(jīng)常會遇到讓單獨的MySQL數(shù)據(jù)庫查詢執(zhí)行的速度變快。MySQL數(shù)據(jù)庫還允許你改變其語句調(diào)度的優(yōu)先級,它可以使來自多個客戶端的查詢更好地協(xié)作。

這樣單個客戶端就不會由于鎖定而等待很長時間。

數(shù)據(jù)庫管理員工作中常會遇到讓單獨的MySQL查詢執(zhí)行的速度變快。MySQL還允許你改變語句調(diào)度的優(yōu)先級,它可以使來自多個客戶端的MySQL查詢更好地協(xié)作,這樣單個客戶端就不會由于鎖定而等待很長時間。

改變優(yōu)先級還可以確保特定類型的查詢被處理得更快。下面我們來講解MySQL的默認的調(diào)度策略和可以用來影響這些策略的選項。還有并發(fā)性插入操作的使用和存儲引擎鎖定層次對客戶端的并發(fā)性的影響。為了討論的方便,我們把執(zhí)行檢索(SELECT)的客戶端稱為"讀取者",把執(zhí)行修改操作(DELETE、INSERT、REPLACE或UPDATE)的客戶端稱為"寫入者"。

MySQL查詢的默認的調(diào)度策略可用總結(jié)如下:

寫入操作優(yōu)先于讀取操作。

對某張數(shù)據(jù)表的寫入操作某一時刻只能發(fā)生一次,寫入請求按照它們到達的次序來處理。

對某張數(shù)據(jù)表的多個讀取操作可以同時地進行。

MyISAM和MEMORY存儲引擎借助于數(shù)據(jù)表鎖來實現(xiàn)這樣的調(diào)度策略。當客戶端訪問某張表的時候,首先必須獲取它的鎖。當客戶端完成對表的操作的時候,鎖就會被解除。通過LOCK TABLES和UNLOCK TABLES語句來顯式地獲取或釋放鎖是可行的,但是在通常情況下,服務器的鎖管理器會自動地在需要的時候獲取鎖,在不再需要的時候釋放鎖。

獲取的鎖的類型依賴于客戶端是寫入還是讀取操作。

對某張表進行寫入操作的客戶端必須擁有獨占的(排他的)訪問權(quán)的鎖。操作在進行的過程中,該數(shù)據(jù)表處于不一致的(inconsistent)狀態(tài),因為數(shù)據(jù)記錄在刪除、添加或修改的時候,數(shù)據(jù)表上的索引也可能需要更新以相互匹配。

這個數(shù)據(jù)表在變化的過程中,如果允許其它的客戶端訪問,會出現(xiàn)問題。非常明顯,允許兩個客戶端同時寫入一張數(shù)據(jù)表是不利的,因為這樣的操作會很快使數(shù)據(jù)表中的信息成為一堆無用的垃圾。但是允許客戶端讀取變化之中的數(shù)據(jù)表也不好,因為正在讀取的位置中的數(shù)據(jù)可能正在變化(修改),讀取的結(jié)果可能不是真實的。

對某張表執(zhí)行讀取操作的客戶端必須獲取一個鎖,防止在讀取的過程中,其它的客戶端寫入或改變表。但是這個鎖不需要獨占的訪問權(quán)。讀取操作不會改變數(shù)據(jù),因此沒有理由讓某個讀取者阻止其它的讀取者訪問這張表。因此讀取鎖允許其它的客戶端在同一時刻讀取這張表。

MySQL查詢提供了幾個語句調(diào)節(jié)符,允許你修改它的調(diào)度策略:

LOW_PRIORITY關(guān)鍵字應用于DELETE、INSERT、LOAD DATA、REPLACE和UPDATE。

HIGH_PRIORITY關(guān)鍵字應用于SELECT和INSERT語句。

DELAYED關(guān)鍵字應用于INSERT和REPLACE語句。

LOW_PRIORITY和HIGH_PRIORITY調(diào)節(jié)符影響那些使用數(shù)據(jù)表鎖的存儲引擎(例如MyISAM和MEMORY)。DELAYED調(diào)節(jié)符作用于MyISAM和MEMORY數(shù)據(jù)表。

【編輯推薦】

  1. MySQL heap使用大匯總
  2. 我國IPTV研究目全球領(lǐng)先
  3. 3G與IPTV是發(fā)展大方向
  4. 我國IPTV研究目全球領(lǐng)先
  5. 3G與IPTV是發(fā)展大方向
責任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-08-05 10:08:55

MySQL查詢優(yōu)化調(diào)度鎖定

2017-11-27 14:58:01

MySQL高并發(fā)優(yōu)化性能調(diào)優(yōu)

2011-03-10 14:40:54

LAMPMysql

2010-08-18 09:26:56

DB2性能調(diào)優(yōu)

2021-11-21 23:03:38

jvm調(diào)優(yōu)虛擬機

2012-01-10 14:35:08

JavaJVM

2017-07-21 08:55:13

TomcatJVM容器

2014-12-19 11:07:40

Java

2023-11-23 09:26:50

Java調(diào)優(yōu)

2021-03-04 08:39:21

SparkRDD調(diào)優(yōu)

2011-05-20 14:23:01

Oracle調(diào)優(yōu)

2016-12-02 09:09:18

MySQL調(diào)優(yōu)數(shù)據(jù)庫

2010-05-13 09:49:08

MySQL調(diào)優(yōu)

2019-09-25 15:09:30

MySQL索引SQL

2013-08-27 13:44:14

MySQL調(diào)優(yōu)技巧

2023-02-07 08:00:00

MySQL數(shù)據(jù)庫技巧

2011-04-18 13:23:46

數(shù)據(jù)庫查詢

2009-09-22 12:06:59

ibmdwLotus

2020-08-18 13:50:04

Tomcat高并發(fā)Java

2011-03-18 11:21:48

點贊
收藏

51CTO技術(shù)棧公眾號