Change Dir

          先知cd——熱愛(ài)生活是一切藝術(shù)的開(kāi)始

          統(tǒng)計(jì)

          留言簿(18)

          積分與排名

          “牛”們的博客

          各個(gè)公司技術(shù)

          我的鏈接

          淘寶技術(shù)

          閱讀排行榜

          評(píng)論排行榜

          MySql性能相關(guān)的一些概念(性能tip0)

          題首:這是最近讀《高性能MySqL 第二版》記錄下來(lái)的東西~

          #讀鎖(共享鎖)、寫鎖(排他鎖):讀鎖是共享的,互不阻塞,讀取同一資源互不影響;寫鎖排他,一個(gè)寫鎖會(huì)阻塞其他的讀寫操作。

          #鎖定對(duì)象的粒度:表鎖和行鎖。

          表鎖:整個(gè)表加鎖,當(dāng)寫操作時(shí),加寫鎖,資源訪問(wèn)排他。當(dāng)沒(méi)有寫時(shí),加讀鎖,讀鎖互不沖突。寫鎖比讀鎖有高優(yōu)先級(jí)。開(kāi)銷較小。

          行級(jí)鎖:對(duì)一行加鎖,開(kāi)銷大,支持最大并發(fā)處理。

          #事務(wù):ACID

          A原子性:一個(gè)事務(wù)是一個(gè)原子不可分的工作單元,內(nèi)部的工作不會(huì)被部分執(zhí)行,要么全部執(zhí)行,要么根本不執(zhí)行

          C一致性:數(shù)據(jù)庫(kù)從一種一致?tīng)顟B(tài)轉(zhuǎn)到另一種一致?tīng)顟B(tài),事務(wù)執(zhí)行過(guò)程中的數(shù)據(jù)改變不會(huì)影響數(shù)據(jù)庫(kù)數(shù)據(jù)。

          I 隔離性:某個(gè)事務(wù)的結(jié)果只有在事務(wù)完成后才對(duì)其他事務(wù)可見(jiàn)。

          D持久性:一個(gè)事務(wù)提交后的結(jié)果改變將是持久的,不會(huì)馬上消失。

          #MVCC:多版本并發(fā)控制

          #幾個(gè)存儲(chǔ)引擎:

          MyISAM:加表鎖,在select查詢時(shí)可以在同一張表完成插入(并發(fā)插入),可以基于BLOB和TEXT的前500字符進(jìn)行相關(guān)索引。

          InnoDB:事務(wù)引擎,適合處理大量短期事務(wù),基于聚簇索引,不壓縮索引

          Memory:基于堆的,內(nèi)存存儲(chǔ),支持哈希索引

          Archive:只支持insert和select,不支持索引,緩沖了數(shù)據(jù)寫操作,插入時(shí)使用zlib算法壓縮,比MyISAM磁盤IO消耗少,所有 的select查詢執(zhí)行全表掃描,適合logging,支持行級(jí)鎖。

          存儲(chǔ)引擎 MySqL版本 事務(wù) 鎖粒度 主要應(yīng)用 忌用
          MyISAM 全部 不支持 支持并發(fā)插入的表鎖 select,insert,高負(fù)載 讀寫并重的場(chǎng)合
          MyISAM Merge 全部 不支持 支持并發(fā)插入的表鎖 分段歸檔,數(shù)據(jù)倉(cāng)庫(kù) 許多全局查找
          Memory(Heap) 全部 不支持 表鎖 中間計(jì)算,靜態(tài)數(shù)據(jù)查找 大型數(shù)據(jù)集,持久性存儲(chǔ)
          InnoDB 全部 支持 支持MVCC的行級(jí)鎖 事務(wù)處理 無(wú)
          Falcon 6.0 支持 支持MVCC的行級(jí)鎖 事務(wù)處理 無(wú)
          Archive 4.1 支持 支持MVCC的行級(jí)鎖 日志記錄,聚合分析 需要隨機(jī)讀取、更新、刪除
          CSV 4.1 不支持 表鎖 日志記錄,大規(guī)模加載外部數(shù)據(jù) 需要隨機(jī)讀取、索引
          Blackhole 4.1 支持 支持MVCC的行級(jí)鎖 日志記錄或同步歸檔 除非有特別目的,否則不適合任何場(chǎng)合
          Federated 5.0 N/A N/A 分布式數(shù)據(jù)源 除非有特別目的,否則不適合任何場(chǎng)合
          NDB Cluster 5.0 支持 行級(jí)鎖 高可靠性 大部分典型應(yīng)用
          PBXT 5.0 支持 支持MVCC的行級(jí)鎖 事務(wù)處理,日志記錄 需要聚集索引
          SolidDB 5.0 支持 支持MVCC的行級(jí)鎖 事務(wù)處理 無(wú)
          Maria 6.x 支持 支持MVCC的行級(jí)鎖 替代MyISAM 無(wú)

          posted on 2012-01-17 08:58 changedi 閱讀(2342) 評(píng)論(2)  編輯  收藏 所屬分類: Java技術(shù)

          評(píng)論

          # re: MySql性能相關(guān)的一些概念(性能tip0)[未登錄](méi) 2012-01-17 18:33 小小

          哥們就這么點(diǎn),沒(méi)了?  回復(fù)  更多評(píng)論   

          # re: MySql性能相關(guān)的一些概念(性能tip0) 2012-01-17 23:48 partner4java

          冒昧的說(shuō)一下,您的一致性是否有些欠缺?
          Consistency
          Data is in a consistent state when a transaction starts and when it ends.
          For example, in an application that transfers funds from one account to another, the consistency property ensures that the total value of funds in both the accounts is the same at the start and end of each transaction.   回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 罗江县| 龙口市| 伊通| 长兴县| 金华市| 双城市| 隆昌县| 项城市| 赤水市| 平陆县| 广州市| 茶陵县| 淮阳县| 蕲春县| 舒城县| 永兴县| 青冈县| 三河市| 日土县| 上思县| 辽阳县| 靖远县| 闻喜县| 剑阁县| 廊坊市| 电白县| 库车县| 灵川县| 搜索| 福清市| 黔西县| 怀柔区| 鄂伦春自治旗| 永康市| 封开县| 东源县| 清丰县| 涟源市| 武汉市| 绥化市| 鄂托克旗|