InnoDB和MyISAM是在使用MySQL最常用的兩個表類型

          InnoDB和MyISAM是在使用MySQL最常用的兩個表類型,各有優缺點,視具體應用而定。基本的差別為:MyISAM類型不支持事務處理等高級處理,而InnoDB類型支持。MyISAM類型的表強調的是性能,其執行數度比InnoDB類型更快,但是不提供事務支持,而InnoDB提供事務支持已經外部鍵等高級數據庫功能。

          MyIASM是IASM表的新版本,有如下擴展:?
          二進制層次的可移植性。?
          NULL列索引。?
          對變長行比ISAM表有更少的碎片。?
          支持大文件。?
          更好的索引壓縮。?
          更好的鍵嗎統計分布。?
          更好和更快的auto_increment處理。?

          以下是一些細節和具體實現的差別:

          1.InnoDB不支持FULLTEXT類型的索引。
          2.InnoDB 中不保存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出保存好的行數即可。注意的是,當count(*)語句包含 where條件時,兩種表的操作是一樣的。
          3.對于AUTO_INCREMENT類型的字段,InnoDB中必須包含只有該字段的索引,但是 在MyISAM表中,可以和其他字段一起建立聯合索引。
          4.DELETE FROM table時,InnoDB不會重新建立表,而是一行一行的刪除。
          5.LOAD TABLE FROM MASTER操作對InnoDB是不起作用的,解決方法是首先把InnoDB表改成MyISAM表,導入數據后再改成InnoDB表,但是對于使用的額外的InnoDB特性(例如外鍵)的表不適用。

          另外,InnoDB表的行鎖也不是絕對的,如果在執行一個SQL語句時MySQL不能確定要掃描的范圍,InnoDB表同樣會鎖全表,例如update table set num=1 where name like “%aaa%”

          任何一種表都不是萬能的,只用恰當的針對業務類型來選擇合適的表類型,才能最大的發揮MySQL的性能優勢.

          本篇文章來源于 -
          http://www.itokit.com - web開發技術 原文地址是: http://www.itokit.com/bbs/viewthread.php?tid=12017

          posted on 2009-04-06 14:34 luofeng225 閱讀(324) 評論(0)  編輯  收藏 所屬分類: MySql

          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          導航

          統計

          公告

          我曾經聽到這么一個故事: 一個年輕的程序員問一個老程序員(一個比較牛逼的公司的CTO) 年輕程序員: 你為什么這么牛X., 就好像沒有你不會的。老程序員: 積累的。年輕程序員: 怎么才能積累到您的程度呢。我每天都在積累。但是似乎都沒有感覺到進步。老程序員: 我從20歲開始做到了一件事情,直到今天,而且盡可能地保證不間斷。年輕程序員: 到底是什么? 老程序員: 我每天保證自己有2個小時在學習新的東西。

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          收藏夾

          Java Website

          java技術博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 汨罗市| 长宁区| 广德县| 阜康市| 长沙市| 泊头市| 社会| 临江市| 永川市| 北辰区| 乐清市| 无为县| 株洲县| 西平县| 安福县| 江油市| 郧西县| 光泽县| 宁晋县| 汽车| 武鸣县| 齐河县| 镶黄旗| 乌审旗| 平果县| 淮阳县| 丰镇市| 确山县| 旅游| 淮滨县| 江城| 长海县| 五指山市| 黄浦区| 大新县| 台南县| 三门县| 阳信县| 民县| 鱼台县| 鹤峰县|