mysql查詢死鎖情況,oracle行級鎖和表級鎖的區(qū)別?
區(qū)別:
1、表級鎖,一般是指表結構共享鎖鎖,是不可對該表執(zhí)行DDL操作,但對DML操作都不限制。 行級鎖之前需要先加表結構共享鎖。鎖定整個表,限制對于其他用戶對表的訪問。
2、行級鎖,一般是指排它鎖,即被鎖定行不可進行修改,刪除,只可以被其他會話select。行級鎖之前需要先加表結構共享鎖。對目前被修改的行進行鎖定,其它用戶可訪問被鎖定的行以外的行。基本說明:1、行級鎖是MySQL中鎖定粒度最細的一種鎖,表示只針對當前操作的行進行加鎖。行級鎖能大大減少數(shù)據(jù)庫操作的沖突,其加鎖粒度最小,但加鎖的開銷也最大。行級鎖分為共享鎖和排他鎖。開銷大,加鎖慢;會出現(xiàn)死鎖;鎖定粒度最小,發(fā)生鎖沖突的概率低,并發(fā)度高;2、表級鎖是MySQL中鎖定粒度最大的一種鎖,表示對當前操作的整張表加鎖,它實現(xiàn)簡單,資源消耗較少,被大部分MySQL引擎支持。最常使用的MyISAM與InnoDB都支持表級鎖定。表級鎖定分為表共享讀鎖與表獨占寫鎖。不會出現(xiàn)死鎖;鎖定粒度大,發(fā)出鎖沖突的概率最高,并發(fā)度最低。