Change Dir

          先知cd——熱愛生活是一切藝術的開始

          統計

          留言簿(18)

          積分與排名

          “牛”們的博客

          各個公司技術

          我的鏈接

          淘寶技術

          閱讀排行榜

          評論排行榜

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

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

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

          #鎖定對象的粒度:表鎖和行鎖。

          表鎖:整個表加鎖,當寫操作時,加寫鎖,資源訪問排他。當沒有寫時,加讀鎖,讀鎖互不沖突。寫鎖比讀鎖有高優先級。開銷較小。

          行級鎖:對一行加鎖,開銷大,支持最大并發處理。

          #事務:ACID

          A原子性:一個事務是一個原子不可分的工作單元,內部的工作不會被部分執行,要么全部執行,要么根本不執行

          C一致性:數據庫從一種一致狀態轉到另一種一致狀態,事務執行過程中的數據改變不會影響數據庫數據。

          I 隔離性:某個事務的結果只有在事務完成后才對其他事務可見。

          D持久性:一個事務提交后的結果改變將是持久的,不會馬上消失。

          #MVCC:多版本并發控制

          #幾個存儲引擎:

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

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

          Memory:基于堆的,內存存儲,支持哈希索引

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

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

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

          評論

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

          哥們就這么點,沒了?  回復  更多評論   

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

          冒昧的說一下,您的一致性是否有些欠缺?
          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.   回復  更多評論   

          主站蜘蛛池模板: 洛川县| 昭通市| 祥云县| 揭东县| 敖汉旗| 澄江县| 舟山市| 阳曲县| 乐山市| 额济纳旗| 泸溪县| 石家庄市| 新泰市| 永寿县| 屯门区| 页游| 淅川县| 北碚区| 绵阳市| 伊川县| 三门县| 灵璧县| 清水河县| 板桥市| 益阳市| 乐清市| 化德县| 盐源县| 襄垣县| 麟游县| 铜陵市| 镇安县| 乾安县| 礼泉县| 诸暨市| 营山县| 安多县| 房产| 新建县| 樟树市| 灌阳县|