MySQLÊý¾Ý¿âÓжàÖÖ´æ´¢ÒýÇæ£º
MyISAM¡¢InnoDB¡¢MERGE¡¢MEMORY(HEAP)¡¢BDB(BerkeleyDB)¡¢EXAMPLE¡¢FEDERATED¡¢ARCHIVE¡¢CSV¡¢BLACKHOLE¡£
MySQLÖ§³ÖÊý¸ö´æ´¢ÒýÇæ×÷Ϊ¶Ô²»Í¬±íµÄÀàÐ͵Ĵ¦ÀíÆ÷¡£MySQL´æ´¢ÒýÇæ°üÀ¨´¦ÀíÊÂÎñ°²È«±íµÄÒýÇæºÍ´¦Àí·ÇÊÂÎñ°²È«±íµÄÒýÇæ£º
¡ô MyISAM¹ÜÀí·ÇÊÂÎñ±í¡£ËüÌṩ¸ßËÙ´æ´¢ºÍ¼ìË÷£¬ÒÔ¼°È«ÎÄËÑË÷ÄÜÁ¦¡£MyISAMÔÚËùÓÐMySQLÅäÖÃÀï±»Ö§³Ö£¬ËüÊÇĬÈϵĴ洢ÒýÇæ£¬³ý·ÇÄãÅäÖÃMySQLĬÈÏʹÓÃÁíÍâÒ»¸öÒýÇæ¡£
¡ô MEMORY´æ´¢ÒýÇæÌṩ¡°ÄÚ´æÖС±±í¡£MERGE´æ´¢ÒýÇæÔÊÐí¼¯ºÏ½«±»´¦ÀíͬÑùµÄMyISAM±í×÷Ϊһ¸öµ¥¶ÀµÄ±í¡£¾ÍÏñMyISAMÒ»Ñù£¬MEMORYºÍMERGE´æ´¢ÒýÇæ´¦Àí·ÇÊÂÎñ±í£¬ÕâÁ½¸öÒýÇæÒ²¶¼±»Ä¬Èϰüº¬ÔÚMySQLÖС£
×¢ÊÍ£ºMEMORY´æ´¢ÒýÇæÕýʽµØ±»È·¶¨ÎªHEAPÒýÇæ¡£
¡ô InnoDBºÍBDB´æ´¢ÒýÇæÌṩÊÂÎñ°²È«±í¡£BDB±»°üº¬ÔÚΪ֧³ÖËüµÄ²Ù×÷ϵͳ·¢²¼µÄMySQL-Max¶þ½øÖÆ·Ö·¢°æÀï¡£InnoDBҲĬÈϱ»°üÀ¨ÔÚËù ÓÐMySQL 5.1¶þ½øÖÆ·Ö·¢°æÀÄã¿ÉÒÔ°´ÕÕϲºÃͨ¹ýÅäÖÃMySQLÀ´ÔÊÐí»ò½ûÖ¹ÈÎÒ»ÒýÇæ¡£
¡ô EXAMPLE´æ´¢ÒýÇæÊÇÒ»¸ö¡°´æ¸ù¡±ÒýÇæ£¬Ëü²»×öʲô¡£Äã¿ÉÒÔÓÃÕâ¸öÒýÇæ´´½¨±í£¬µ«Ã»ÓÐÊý¾Ý±»´æ´¢ÓÚÆäÖлò´ÓÆäÖмìË÷¡£Õâ¸öÒýÇæµÄÄ¿µÄÊÇ·þÎñ£¬ÔÚ MySQLÔ´´úÂëÖеÄÒ»¸öÀý×Ó£¬ËüÑÝʾ˵Ã÷ÈçºÎ¿ªÊ¼±àдд洢ÒýÇæ¡£Í¬Ñù£¬ËüµÄÖ÷ÒªÐËȤÊǶԿª·¢Õß¡£
¡ô NDB ClusterÊDZ»MySQL ClusterÓÃÀ´ÊµÏַָ¶ą̀¼ÆËã»úÉϵıíµÄ´æ´¢ÒýÇæ¡£ËüÔÚMySQL-Max 5.1¶þ½øÖÆ·Ö·¢°æÀïÌṩ¡£Õâ¸ö´æ´¢ÒýÇæµ±Ç°Ö»±»Linux, Solaris, ºÍMac OS X Ö§³Ö¡£ÔÚδÀ´µÄMySQL·Ö·¢°æÖУ¬ÎÒÃÇÏëÒªÌí¼ÓÆäËüƽ̨¶ÔÕâ¸öÒýÇæµÄÖ§³Ö£¬°üÀ¨Windows¡£
¡ô ARCHIVE´æ´¢ÒýÇæ±»ÓÃÀ´ÎÞË÷ÒýµØ£¬·Ç³£Ð¡µØ¸²¸Ç´æ´¢µÄ´óÁ¿Êý¾Ý¡£
¡ô CSV´æ´¢ÒýÇæ°ÑÊý¾ÝÒÔ¶ººÅ·Ö¸ôµÄ¸ñʽ´æ´¢ÔÚÎı¾ÎļþÖС£
¡ô BLACKHOLE´æ´¢ÒýÇæ½ÓÊܵ«²»´æ´¢Êý¾Ý£¬²¢ÇÒ¼ìË÷×ÜÊÇ·µ»ØÒ»¸ö¿Õ¼¯¡£
¡ô FEDERATED´æ´¢ÒýÇæ°ÑÊý¾Ý´æÔÚÔ¶³ÌÊý¾Ý¿âÖС£ÔÚMySQL 5.1ÖУ¬ËüÖ»ºÍMySQLÒ»Æð¹¤×÷£¬Ê¹ÓÃMySQL C Client API¡£ÔÚδÀ´µÄ·Ö·¢°æÖУ¬ÎÒÃÇÏëÒªÈÃËüʹÓÃÆäËüÇý¶¯Æ÷»ò¿Í»§¶ËÁ¬½Ó·½·¨Á¬½Óµ½ÁíÍâµÄÊý¾ÝÔ´¡£
µ±Äã´´½¨Ò»¸öбíµÄʱºò£¬Äã¿ÉÒÔͨ¹ýÌí¼ÓÒ»¸öENGINE »òTYPE Ñ¡Ïîµ½CREATE TABLEÓï¾äÀ´¸æËßMySQLÄãÒª´´½¨Ê²Ã´ÀàÐÍµÄ±í£º
CREATE TABLE t (i INT) ENGINE = INNODB;
CREATE TABLE t (i INT) TYPE = MEMORY;
ËäÈ»TYPEÈÔÈ»ÔÚMySQL 5.1Öб»Ö§³Ö£¬ÏÖÔÚENGINEÊÇÊ×Ñ¡µÄÊõÓï¡£
ÈçºÎÑ¡Ôñ×îÊʺÏÄãµÄ´æ´¢ÒýÇæÄØ£¿
ÏÂÊö´æ´¢ÒýÇæÊÇ×î³£Óõģº
¡ô MyISAM£ºÄ¬ÈϵÄMySQL²å¼þʽ´æ´¢ÒýÇæ£¬ËüÊÇÔÚWeb¡¢Êý¾Ý²Ö´¢ºÍÆäËûÓ¦Óû·¾³ÏÂ×ʹÓõĴ洢ÒýÇæÖ®Ò»¡£×¢Ò⣬ͨ¹ý¸ü¸ÄSTORAGE_ENGINEÅäÖñäÁ¿£¬Äܹ»·½±ãµØ¸ü¸ÄMySQL·þÎñÆ÷µÄĬÈÏ´æ´¢ÒýÇæ¡£
¡ô InnoDB£ºÓÃÓÚÊÂÎñ´¦ÀíÓ¦ÓóÌÐò£¬¾ßÓÐÖÚ¶àÌØÐÔ£¬°üÀ¨ACIDÊÂÎñÖ§³Ö¡£
¡ô BDB£º¿ÉÌæ´úInnoDBµÄÊÂÎñÒýÇæ£¬Ö§³ÖCOMMIT¡¢ROLLBACKºÍÆäËûÊÂÎñÌØÐÔ¡£
¡ô Memory£º½«ËùÓÐÊý¾Ý±£´æÔÚRAMÖУ¬ÔÚÐèÒª¿ìËÙ²éÕÒÒýÓÃºÍÆäËûÀàËÆÊý¾ÝµÄ»·¾³Ï£¬¿ÉÌṩ¼«¿ìµÄ·ÃÎÊ¡£
¡ô Merge£ºÔÊÐíMySQL DBA»ò¿ª·¢ÈËÔ±½«Ò»ÏµÁеÈͬµÄMyISAM±íÒÔÂß¼·½Ê½×éºÏÔÚÒ»Æð£¬²¢×÷Ϊ1¸ö¶ÔÏóÒýÓÃËüÃÇ¡£¶ÔÓÚÖîÈçÊý¾Ý²Ö´¢µÈVLDB»·¾³Ê®·ÖÊʺϡ£
¡ô Archive£ºÎª´óÁ¿ºÜÉÙÒýÓõÄÀúÊ·¡¢¹éµµ¡¢»ò°²È«Éó¼ÆÐÅÏ¢µÄ´æ´¢ºÍ¼ìË÷ÌṩÁËÍêÃÀµÄ½â¾ö·½°¸¡£
¡ô Federated£ºÄܹ»½«¶à¸ö·ÖÀëµÄMySQL·þÎñÆ÷Á´½ÓÆðÀ´£¬´Ó¶à¸öÎïÀí·þÎñÆ÷´´½¨Ò»¸öÂß¼Êý¾Ý¿â¡£Ê®·ÖÊʺÏÓÚ·Ö²¼Ê½»·¾³»òÊý¾Ý¼¯Êл·¾³¡£
¡ô Cluster/NDB£ºMySQLµÄ´ØÊ½Êý¾Ý¿âÒýÇæ£¬ÓÈÆäÊʺÏÓÚ¾ßÓиßÐÔÄܲéÕÒÒªÇóµÄÓ¦ÓóÌÐò£¬ÕâÀà²éÕÒÐèÇó»¹ÒªÇó¾ßÓÐ×î¸ßµÄÕý³£¹¤×÷ʱ¼äºÍ¿ÉÓÃÐÔ¡£
¡ô Other£ºÆäËû´æ´¢ÒýÇæ°üÀ¨CSV£¨ÒýÓÃÓɶººÅ¸ô¿ªµÄÓÃ×÷Êý¾Ý¿â±íµÄÎļþ£©£¬Blackhole£¨ÓÃÓÚÁÙʱ½ûÖ¹¶ÔÊý¾Ý¿âµÄÓ¦ÓóÌÐòÊäÈ룩£¬ÒÔ¼°ExampleÒýÇæ£¨¿ÉΪ¿ìËÙ´´½¨¶¨ÖƵIJå¼þʽ´æ´¢ÒýÇæÌṩ°ïÖú£©¡£
Çë¼Çס£¬¶ÔÓÚÕû¸ö·þÎñÆ÷»ò·½°¸£¬Äã²¢²»Ò»¶¨ÒªÊ¹ÓÃÏàͬµÄ´æ´¢ÒýÇæ£¬Äã¿ÉÒÔΪ·½°¸ÖеÄÿ¸ö±íʹÓò»Í¬µÄ´æ´¢ÒýÇæ£¬ÕâµãºÜÖØÒª¡£
mysql> show engines;
+------------+---------+----------------------------------------------------------------+
| Engine | Support | Comment |
+------------+---------+----------------------------------------------------------------+
| MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables |
| InnoDB | YES | Supports transactions, row-level locking, and foreign keys |
| BerkeleyDB | NO | Supports transactions and page-level locking |
| BLACKHOLE | NO | /dev/null storage engine (anything you write to it disappears) |
| EXAMPLE | NO | Example storage engine |
| ARCHIVE | NO | Archive storage engine |
| CSV | NO | CSV storage engine |
| ndbcluster | NO | Clustered, fault-tolerant, memory-based tables |
| FEDERATED | NO | Federated MySQL storage engine |
| MRG_MYISAM | YES | Collection of identical MyISAM tables |
| ISAM | NO | Obsolete storage engine |
+------------+---------+----------------------------------------------------------------+