Mysql数据库表的类型有哪些



截至目前,MySQL一共向用户提供了包括DBD、HEAP、ISAM、MERGE、MyIASM、InnoDB以及Gemeni这7种Mysql表类型。其中DBD、InnoDB属于事务安全类表,而其他属于事务非安全类表。

DBD
Berkeley DB(DBD)表是支持事务处理的表,由Sleepycat软件公司开发。它提供MySQL用户期待已久的功能--事务控制。事务控制在任何数据库系统中都是一个极有价值的功能,因为它们确保一组命令能成功地执行或回滚。

HEAP
HEAP表是MySQL中存取数据最快的表。这是因为他们使用存储在动态内存中的一个散列索引,不过如果MySQL或服务器崩溃,这些内存数据将会丢失。

ISAM
ISAM表是早期MySQL版本的缺省表类型,直到MyIASM开发出来。建议不要再使用它。

MERGE
MERGE是一个有趣的新类型,在3.23.25之后出现。一个MERGE表实际上是又一个MyISAM表的集合,合并而成的一个表,主要是为了效率的考虑,因为这样不仅仅可以提高速度、搜索效率、修复效率而且还节省了磁盘空间。

MyIASM
MyIASM基于了IASM代码,应该可以说是IASM的衍生品,不过增加了不少有用的扩展。它是MySQL的默认数据表类型,基于了传统的ISAM类型,ISAM是Indexed Sequential Access Method(有索引的顺序访问方法)的缩写,一般来说,它是存储记录和文件的标准方法。与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具。ISAM表格可以被压缩,而且它们支持全文搜索,不过它们是事务不安全的,而且也不支持外键。如果事务回滚将会造成不完全回滚,从而不具备原子性。所以假如忽略事务以及访问并发性的话,并且需要执行大量的SELECT检索语句的话,MyISAM将是最好的选择。

InnoDB
InnoDB是MySQL 4.0之后推出的一种比较新的数据表类型,这种类型是事务安全的。它与BDB类型具有相同的特性,它们还支持外键。InnoDB表格速度很快具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它。如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,同样应该使用InnoDB表。对于支持事务的InnoDB类型的表来说,影响速度的主要原因是AUTOCOMMIT默认设置是打开的,而且程序没有显式调用BEGIN 开始事务,导致每插入一条都自动提交,严重影响了速度。可以在执行sql前调用begin,多条sql形成一个事物(即使autocommit打开也可以),将大大提高性能。

Gemeni
Gemeni表,据听说也是在MySQL 4.0之后推出的,不过截至当前,很少有针对它的介绍,同样应用也就更少了,我们暂时不作介绍。

MySQL的数据表类型很多,其中比较重要的是MyISAM,InnoDB这两种。
这两种类型各有优缺点,需要根据实际情况选择适合的,MySQL支持对不同的表设置不同的类型。下面做个简单的对比:
MyISAM表类型是一种比较成熟稳定的表类型,但是MyISAM对一些功能不支持。
Mysql数据库表的类型有哪些
标签:应用l数据库mysql其他重要method最好应该nod



  • 涓轰粈涔堟垜鐨mysql鏁版嵁搴閲岀殑琛ㄥ彧鏈塮rm鏂囦欢
    绛旓細杩欐槸鍥犱负浣犳墍鍒涘缓鐨琛ㄧ被鍨涓篒nnodb绫诲瀷鍚э紒Innodb绫诲瀷鏁版嵁搴鏂囦欢澶归噷鍙瓨鍦╢rm鏂囦欢銆備竴鑸綉绔欑殑鏁版嵁搴撳彧闇瑕佷娇鐢∕yISAM绫诲瀷锛岃繖鏍锋暟鎹簱鏂囦欢澶归噷涓涓〃灏变細瀵瑰簲瀛樺湪涓や釜鏂囦欢*.frm鍜*.MYD鏂囦欢銆
  • mysql鏌ョ湅鏁版嵁搴撴湁鍝簺琛
    绛旓細FROM 鏁版嵁搴撳悕`锛屽彲浠ユ寚瀹氭兂瑕佹煡鐪嬪摢涓暟鎹簱涓殑琛ㄣ傛墽琛岃繖涓懡浠ゅ悗锛孧ySQL浼氳繑鍥炴寚瀹氭暟鎹簱涓墍鏈夌殑琛ㄥ悕锛岃繖鏍锋垜浠氨鍙互娓呮鍦扮煡閬撴暟鎹簱涓鏈夊摢浜琛ㄤ簡銆傜患涓婃墍杩帮紝閫氳繃鏌ヨ`information_schema`鏁版嵁搴撲腑鐨刞tables`琛ㄦ垨浣跨敤`SHOW TABLES`鍛戒护锛屾垜浠彲浠ヨ交鏉惧湴鏌ョ湅MySQL鏁版嵁搴涓瓨鍦ㄧ殑鎵鏈夎〃銆
  • mysql8.0绯荤粺鏁版嵁搴撴湁鍝簺
    绛旓細information_schema锛宮ysql锛宲erformance_schema锛宻ys銆1銆乮nformation_schema锛氳繖涓暟鎹簱淇濆瓨浜MySQL鏈嶅姟鍣ㄦ墍鏈夋暟鎹簱鐨勪俊鎭紝姣斿鏁版嵁搴撶殑鍚嶃佹暟鎹簱鐨勮〃銆佽闂潈闄愩鏁版嵁搴撹〃鐨勬暟鎹被鍨锛屾暟鎹簱绱㈠紩鐨勪俊鎭瓑銆2銆乵ysql锛mysql鐨鏍稿績鏁版嵁搴擄紝绫讳技浜巗qlserver涓殑master琛紝涓昏璐熻矗瀛樺偍鏁版嵁搴撶殑鐢ㄦ埛銆佹潈闄愯缃...
  • 濡備綍鍦↙inux涓婃鏌MySQL鏁版嵁琛ㄧ殑瀛樺偍寮曟搸绫诲瀷
    绛旓細鎴戣濡備綍妫鏌MySQL鏁版嵁搴撹〃鐨勭被鍨锛烳ySQl涓昏浣跨敤涓ょ瀛樺偍寮曟搸锛歁yISAM 鍜 Innodb銆侻yISAM鏄潪浜嬪姟鐨勶紝鍥犳鎷ユ湁璇诲彇鏇村揩锛岀劧鑰孖nnoDB瀹屽叏鏀寔缁嗛绮掑害鐨勪簨鍔¢攣瀹氾紙姣斿锛歝ommit/rollback锛夈傚綋浣犲垱寤轰竴寮犳柊鐨MySQL琛鏃讹紝浣犺閫夋嫨瀹冪殑绫诲瀷锛堜篃灏辨槸瀛樺偍寮曟搸锛夈傚鏋滄病鏈夐夋嫨锛屼綘灏变細浣跨敤涓庨璁剧疆鐨勯粯璁ゅ紩鎿庛...
  • 鏁版嵁搴撴湁鍝簺绫诲瀷?
    绛旓細鏁版嵁搴鍏辨湁3绉绫诲瀷锛屼负鍏崇郴鏁版嵁搴撱侀潪鍏崇郴鍨嬫暟鎹簱鍜岄敭鍊兼暟鎹簱銆1銆佸叧绯绘暟鎹簱 MySQL銆丮ariaDB锛MySQL鐨浠f浛鍝侊紝鑻辨枃缁村熀鐧剧浠嶮ySQL杞悜MariaDB锛夈丳ercona Server锛圡ySQL鐨勪唬鏇垮搧路锛夈丳ostgreSQL銆丮icrosoft Access銆丮icrosoft SQL Server銆丟oogle Fusion Tables銆丗ileMaker銆丱racle鏁版嵁搴撱丼ybase銆乨BASE銆...
  • mysql鏁版嵁搴撶殑瀛樻斁浣嶇疆鍦ㄥ摢閲
    绛旓細涓嬮潰璇︾粏浠嬬粛鍑犱釜鎵句笉鍚鏁版嵁搴鐢ㄥ埌鐨勫懡浠わ細1銆侀夋嫨浣犳墍鍒涘缓鐨勬暟鎹簱 mysql>USEMYSQLDATA;(鎸夊洖杞﹂敭鍑虹幇Databasechanged鏃惰鏄庢搷浣滄垚鍔燂紒)2銆:浣跨敤SHOW璇彞鎵惧嚭鍦ㄦ湇鍔″櫒涓婂綋鍓嶅瓨鍦ㄤ粈涔堟暟鎹簱 mysql>SHOWDATABASES;3銆佹煡鐪嬬幇鍦ㄧ殑鏁版嵁搴撲腑瀛樺湪浠涔堣〃 mysql>SHOWTABLES;4銆佹樉绀琛ㄧ殑缁撴瀯銆俶ysql>DESCRIBEMYTABLE...
  • mysql涓浣曟煡鐪鏁版嵁搴撹〃鐨鍒涘缓鏃堕棿?
    绛旓細鏂规硶锛氭煡鐪鏁版嵁搴撹〃鐨鍒涘缓鏃堕棿鍙互鍦╥nformation_schema涓煡鐪 information_schema鏁版嵁搴撹〃璇存槑:SCHEMATA琛細鎻愪緵浜嗗綋鍓mysql瀹炰緥涓墍鏈夋暟鎹簱鐨勪俊鎭傛槸show databases鐨勭粨鏋滃彇涔嬫琛ㄣ俆ABLES琛細鎻愪緵浜嗗叧浜庢暟鎹簱涓殑琛ㄧ殑淇℃伅锛堝寘鎷鍥撅級銆傝缁嗚〃杩颁簡鏌愪釜琛ㄥ睘浜庡摢涓猻chema锛琛ㄧ被鍨锛岃〃寮曟搸锛屽垱寤烘椂闂寸瓑淇℃伅銆
  • mysql涓浣曟煡鐪鏁版嵁搴撹〃鐨鍒涘缓鏃堕棿
    绛旓細鏌ョ湅鏁版嵁搴撹〃鐨鍒涘缓鏃堕棿鍙互鍦╥nformation_schema涓煡鐪 information_schema鏁版嵁搴撹〃璇存槑:SCHEMATA琛細鎻愪緵浜嗗綋鍓mysql瀹炰緥涓墍鏈夋暟鎹簱鐨勪俊鎭傛槸show databases鐨勭粨鏋滃彇涔嬫琛ㄣ俆ABLES琛細鎻愪緵浜嗗叧浜庢暟鎹簱涓殑琛ㄧ殑淇℃伅锛堝寘鎷鍥撅級銆傝缁嗚〃杩颁簡鏌愪釜琛ㄥ睘浜庡摢涓猻chema锛琛ㄧ被鍨锛岃〃寮曟搸锛屽垱寤烘椂闂寸瓑淇℃伅銆傛槸show ...
  • mysql鏌ヨ鏁版嵁搴涓鏈夊摢浜琛
    绛旓細瑙i噴濡備笅锛1. MySQL鏁版嵁搴涓殑琛ㄧ鐞 鍦∕ySQL鏁版嵁搴撲腑锛岃〃鏄瓨鍌ㄦ暟鎹殑涓昏缁撴瀯銆傛瘡涓〃閮藉寘鍚竴绯诲垪鐨勬暟鎹褰曪紝骞朵笖鎸夌収涓瀹氱殑缁撴瀯缁勭粐銆備负浜嗙鐞嗗拰鏌ヨ杩欎簺鏁版嵁琛锛屾垜浠渶瑕佺煡閬撴暟鎹簱涓瓨鍦鍝簺琛銆2. 浣跨敤SHOW TABLES鍛戒护鏌ョ湅琛 `SHOW TABLES;` 鏄疢ySQL涓殑涓涓懡浠わ紝瀹冨彲浠ュ垪鍑烘暟鎹簱涓殑鎵鏈琛ㄧ殑...
  • oracle鍜mysql鍖哄埆鏄粈涔?
    绛旓細2銆鏁版嵁搴撶殑灞傛缁撴瀯鐨勪笉鍚 mysql锛氶粯璁ょ敤鎴锋槸root锛岀敤鎴蜂笅鍙互鍒涘缓濂藉鏁版嵁搴擄紝姣忎釜鏁版嵁搴撲笅杩樻湁濂藉琛紝涓鑸儏鍐典笅閮芥槸浣跨敤榛樿鐢ㄦ埛锛屼笉浼氬垱寤哄涓敤鎴枫俹racle锛氬垱寤轰竴涓暟鎹簱锛屾暟鎹簱涓嬫湁濂藉鐢ㄦ埛锛歴ys銆乻ystem銆乻cott绛夛紝涓嶅悓鐢ㄦ埛涓嬫湁濂藉琛紝涓鑸儏鍐典笅鍙垱寤轰竴涓暟鎹簱鐢ㄣ3銆佹暟鎹簱涓〃瀛楁绫...
  • 扩展阅读:mysql的六种数据类型 ... mysql查询有哪些表 ... sql数据类型一览表 ... 学mysql有必要吗 ... mysql基本命令大全 ... 数据库12种数据类型 ... mysql常见数据类型 ... 数据库多表查询语句 ... mysql数据类型详解 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网