国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql如何查詢表類別

2024-07-24 12:33:59
字體:
來源:轉載
供稿:網友
  MySQL 數據表主要支持六種類型 ,分別是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。
 
  這六種又分為兩類,一類是”事務安全型”(transaction-safe),包括BDB和InnoDB;其余都屬于第二類,稱為”非事務安全型”(non-transaction-safe)。
 
  BDB 全稱是”Brekeley DB”,它是Mysql最早的具有事務能力的表的類型,由Sleepycat Software (http://www.sleepycat.com)開發。它提供了事務控制能力功能,它確保一組命令全部執行成功,或者當任何一個命令出現錯誤時所有命令的結果都被回退,可以想像在電子銀行中事務控制能力是非常重要的。支持COMMIT、ROLLBACK和其他事務特性。最新版本的Mysql已經計劃移除對BDB的支持,轉而全力發展InnoDB。
 
  InnoDB 是較新的事務安全型存儲引擎,用于事務處理應用程序,支持BDB的幾乎所有特性,并具有眾多新特性,包括ACID事務支持。
 
  特性:
 
  事務處理機制
  支持外鏈
  崩潰后能立即恢復
  支持外鍵功能,級聯刪除
  支持并發能力
  在硬盤上的存儲方式:InnoBDB frm
  最新版本的Mysql已經計劃移除對BDB的支持,轉而全力發展InnoDB。InnoDB對Mysql有更好的特性支持,而且開發社區活躍。
 
  MyISAM 默認的MySQL插件式存儲引擎,它是基于ISAM類型,但它增加了許多有用的擴展,它是在Web、數據倉儲和其他應用環境下最常使用的存儲引擎之一。注意,通過更改STORAGE_ENGINE配置變量,能夠方便地更改MySQL服務器的默認存儲引擎。
  優點:
 
  1.比ISAM表更小,所占資源更少
  2.可以在不同平臺間二進制移植表的類型在創建表時指定。
  ISAM 是MyISAM類型出現之前MySQL表使用的默認類型,現在已經被MyISAM代替。
 
  Memory (HEAP) 是MySQL表中訪問最快的表,將所有數據保存在RAM中,在需要快速查找引用和其他類似數據的環境下,可提供極快的訪問。注意,這種類型下數據是非持久化設計的,它一般適應于臨時表,如果MySQL或者服務器崩潰,表中數據全部丟失。
 
  Merge 是一種值得關注的新式表,它是由一組MyISAM表組成,之所合并主要出于性能上考慮,因為它能夠提高搜索速度,提高修復效率,節省磁盤空 間。允許MySQL DBA或開發人員將一系列等同的MyISAM表以邏輯方式組合在一起,并作為1個對象引用它們。對于諸如數據倉儲等VLDB環境十分適合。有時它以 MRG_MYISAM 名稱出現。
 
  Archive 為大量很少引用的歷史、歸檔、或安全審計信息的存儲和檢索提供了完美的解決方案。
 
  Federated 能夠將多個分離的MySQL服務器鏈接起來,從多個物理服務器創建一個邏輯數據庫。十分適合于分布式環境或數據集市環境。
 
  NDBCluster/Cluster/NDB MySQL的簇式數據庫引擎,尤其適合于具有高性能查找要求的應用程序,這類查找需求還要求具有最高的正常工作時間和可用性。
 
  CSV 使用標準的CSV格式,由逗號隔開的文本文件,適應于外部數據交換
 
  Blackhole 它會接受數據但不保存,而且對任何檢索請求返回一個空集。它一般適應于數據會被自動復制并不進行本地保存的分布式數據庫設計。(不確定的)似乎也可以用于臨時禁止/忽略對數據庫的應用程序輸入。
 
  Example 這是一個測試引擎,你可以創建一個這樣的表,但既不能寫入數據,也不能檢索數據。它似乎是一個針對MySql開發者提供的示例引擎。
 
  有關操作和查看表類型的命令語法如下
 
  --
  -- 創建表時指定表類型的方法
  CREATE TABLE `message` (
  `id` int(11) NOT NULL auto_increment,
  `sender` varchar(255) default NULL,
  `receiver` varchar(255) default NULL,
  `content` text,
  `is_read` char(1) default 'N',
  `send_time` datetime default NULL,
  `del_flag` tinyint(4) default '0',
  PRIMARY KEY (`id`)
  ) ENGINE=MYISAM;
    
  -- 也可以創建后更改:
  ALTER TABLE `message` ENGINE = INNODB;
  查看表類型
 
  方法1:
  -- 查看表類型(存儲引擎)
  SHOW TABLE STATUS FROM `test`;
  結果為數據庫test中所有表的信息,其中第二項type即是表的類型。
 
  方法2:
    -- 查看表類型(存儲引擎)2
  SHOW CREATE TABLE `message`;
  結果為表message創建時的信息,其中有TYPE或ENGINE一項,指定了表的類型(存儲引擎)。
 
  注意:老版本的MySQL使用 TYPE而不是ENGINE(例如,TYPE = MYISAM)。MySQL 5.1為向下兼容而支持這個語法,但TYPE現在被輕視,而ENGINE 是首先的用法。 一般地,ENGINE選項是不必要的;除非默認已經被改變了,MyISAM是默認存儲引擎。
 
  關于“mysql如何查詢表類型”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合江县| 灯塔市| 綦江县| 若羌县| 甘泉县| 江油市| 宁城县| 姜堰市| 宜兴市| 渝中区| 康乐县| 平顶山市| 中江县| 抚松县| 海兴县| 招远市| 射洪县| 萨嘎县| 曲阜市| 铜山县| 安吉县| 白河县| 英吉沙县| 宝坻区| 普陀区| 大关县| 青川县| 武陟县| 射洪县| 华亭县| 榆树市| 大关县| 田林县| 绍兴市| 灌阳县| 山西省| 吉木萨尔县| 恩平市| 故城县| 西乡县| 乌拉特前旗|