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 閱讀(2336) 評論(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.   回復  更多評論   

          主站蜘蛛池模板: 谷城县| 绥化市| 安义县| 台南县| 章丘市| 白玉县| 游戏| 东宁县| 庆安县| 珲春市| 九江市| 扎兰屯市| 那坡县| 红安县| 抚顺县| 包头市| 昆明市| 夏津县| 浮山县| 潮安县| 新巴尔虎左旗| 绥芬河市| 蒲江县| 景谷| 兴隆县| 确山县| 凤山县| 马龙县| 莫力| 漳州市| 平乐县| 盈江县| 隆子县| 甘泉县| 聂拉木县| 子洲县| 崇州市| 惠州市| 古丈县| 如皋市| 专栏|