程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL MyISAM的引擎和InnoDB引擎的比較

MySQL MyISAM的引擎和InnoDB引擎的比較

編輯:MySQL綜合教程

以下的文章主要介紹的是MySQL MyISAM的引擎和InnoDB引擎的實際性能的比較,我們首先是通過MySQL數據庫的表結構來引出MySQL MyISAM的引擎和InnoDB引擎的實際性能的實際操作。

  1. CREATE TABLE `myisam` (  
  2. `id` int(11) NOT NULL auto_increment,  
  3. `name` varchar(100) default NULL,  
  4. `content` text,  
  5. PRIMARY KEY (`id`)  
  6. ) ENGINE=MyISAM DEFAULT CHARSET=gbk;  
  7. CREATE TABLE `innodb` (  
  8. `id` int(11) NOT NULL auto_increment,  
  9. `name` varchar(100) default NULL,  
  10. `content` text,  
  11. PRIMARY KEY (`id`)  
  12. ) ENGINE=InnoDB DEFAULT CHARSET=gbk;  

數據內容:

  1. $name = “heiyeluren”; 

$content = “MySQL支持數個存儲引擎作為對不同表的類型的處理器。MySQL存儲引擎包括處理事務安全表的引擎和處理非事務安全表的引擎:· MyISAM管理非事務表。它提供高速存儲和檢索,以及全文搜索能力。MySQL MyISAM在所有MySQL配置裡被支持,它是默認的存儲引擎,除非你配置MySQL默認使用另外一個引擎。 ·

MEMORY存儲引擎提供“內存中”表。MERGE存儲引擎允許集合將被處理同樣的MyISAM表作為一個單獨的表。就像MySQL MyISAM一樣,MEMORY和MERGE存儲引擎處理非事務表,這兩個引擎也都被默認包含在MySQL中。

釋:MEMORY存儲引擎正式地被確定為HEAP引擎。· InnoDB和BDB存儲引擎提供事務安全表。BDB被包含在為支持它的操作系統發布的MySQL-Max二進制分發版裡。InnoDB也默認被包括在所有MySQL 5.1二進制分發版裡,你可以按照喜好通過配置MySQL來允許或禁止任一引擎。·EXAMPLE存儲引擎是一個“存根”引擎,它不做什麼。你可以用這個引擎創建表,但沒有數據被存儲於其中或從其中檢索。這個引擎的目的是服務,在MySQL源代碼中的一個例子,它演示說明如何開始編寫新存儲引擎。同樣,它的主要興趣是對開發者。”;

[插入數據-1] (innodb_flush_log_at_trx_commit=1)
MyISAM 1W:3/s

nnoDB 1W:219/s

MyISAM 10W:29/s

nnoDB 10W:2092/s

MySQL MyISAM 100W:287/s

InnoDB 100W:

沒敢測試

[插入數據-2] (innodb_flush_log_at_trx_commit=0)
 

  1. MyISAM 1W:3/s  
  2. InnoDB 1W:3/s  
  3. MyISAM 10W:30/s  
  4. InnoDB 10W:29/s  
  5. MyISAM 100W:273/s  
  6. InnoDB 100W:423/s  

[插入數據3] (innodb_buffer_pool_size=1024M)
 

  1. InnoDB 1W:3/s  
  2. InnoDB 10W:33/s  
  3. InnoDB 100W:607/s 

[插入數據4] (innodb_buffer_pool_size=256M, innodb_flush_log_at_trx_commit=1, set autocommit=0)

  1. InnoDB 1W:3/s  
  2. InnoDB 10W:26/s  
  3. InnoDB 100W:379/s 

[MySQL 配置文件] (缺省配置)

  1. # MySQL Server Instance Configuration File  
  2. [client]  
  3. port=3306 
  4. [mysql]  
  5. default-character-set=gbk 
  6. [mysqld]  
  7. port=3306 
  8. basedir=”C:/mysql50/”  
  9. datadir=”C:/mysql50/Data/”  
  10. default-character-set=gbk 
  11. default-storage-engine=INNODB 
  12. sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”  
  13. max_connections=100 
  14.  
  15. query_cache_size=0 
  16. table_cache=256 
  17. tmp_table_size=50M 
  18. thread_cache_size=8 
  19. myisam_max_sort_file_size=100G 
  20. myisam_max_extra_sort_file_size=100G 
  21. myisam_sort_buffer_size=100M 
  22. key_buffer_size=82M 
  23. read_buffer_size=64K 
  24. read_rnd_buffer_size=256K 
  25. sort_buffer_size=256K 
  26. innodb_additional_mem_pool_size=4M 
  27. innodb_flush_log_at_trx_commit=1 
  28. innodb_log_buffer_size=2M 
  29. innodb_buffer_pool_size=159M 
  30. innodb_log_file_size=80M 
  31. innodb_thread_concurr  

以上的相關內容就是對MySQL MyISAM的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved