[ÔÓ¼Ç] ÐÂÄêÎïÓï&¹ØÓÚMysqlÒýÇæÐÔÄܲâÊÔ
æµµÄ2009ÖÕÓÚ¹ýÈ¥£¬Ò²ÖÕÓÚ°ÑÈËÉú´óÊÂæÍêÁË£¬»Øµ½Õý³£µÄ¹¤×÷Éú»îÖÐÀ´¡£2010¶ÔÎÒÀ´ËµÓ¦¸ÃÊdzäÂúÐÂÆÚÍûµÄÒ»Ä꣬еÄÆõ»ú¾ÍÔÚÑÛÇ°£¬¼ÓÓÍŬÁ¦°É~
ÁíÍâ×¼±¸12¸öÔÂÖ®ºóÔÙÀ´×ܽáһϽñÄêµÄÖØ´óʼǣ¬ºÇºÇ~
˳±ã¿´µ½Ò»¸öMysqlµÄ²âÊÔÎÄÕ£¬¸Ð¾õ»¹ÂúÓвο¼¼ÛÖµµÄ£¬ÓÚÊǼǼÏÂÀ´ÒÔ±ã²Î¿¼¡£
ÒÔÏÂÊÇÒ»¸öMySQLÖÐMyISAMÒýÇæÓëInnoDBÒýÇæÐÔÄܼòµ¥ÐÔÄܲâÊÔ£º
[Ó²¼þÅäÖÃ]
CPU : AMD2500+ (1.8G)
ÄÚ´æ: 1G/ÏÖ´ú
Ó²ÅÌ: 80G/IDE
[Èí¼þÅäÖÃ]
OS : Windows XP SP2
SE : PHP5.2.1
DB : MySQL5.0.37
ÔÚȱʡÅäÖõÄÇé¿öϽøÐвåÈëÊý¾Ý²âÊÔ£º
[²åÈëÊý¾Ý-1] (innodb_flush_log_at_trx_commit=1)
MyISAM 1W£º3/s
InnoDB 1W£º219/s
MyISAM 10W£º29/s
InnoDB 10W£º2092/s
MyISAM 100W£º287/s
InnoDB 100W£ºÃ»¸Ò²âÊÔ
[²åÈëÊý¾Ý-2] (innodb_flush_log_at_trx_commit=0)
MyISAM 1W£º3/s
InnoDB 1W£º3/s
MyISAM 10W£º30/s
InnoDB 10W£º29/s
MyISAM 100W£º273/s
InnoDB 100W£º423/s
[²åÈëÊý¾Ý3] (innodb_buffer_pool_size=1024M)
InnoDB 1W£º3/s
InnoDB 10W£º33/s
InnoDB 100W£º607/s
[²åÈëÊý¾Ý4] (innodb_buffer_pool_size=256M, innodb_flush_log_at_trx_commit=1, set autocommit=0)
InnoDB 1W£º3/s
InnoDB 10W£º26/s
InnoDB 100W£º379/s
¡¾²âÊÔ½áÂÛ¡¿
¿ÉÒÔ¿´³öÔÚMySQL 5.0ÀïÃ棬MyISAMºÍInnoDB´æ´¢ÒýÇæÐÔÄܲî±ð²¢²»ÊǺܴó£¬Õë¶ÔInnoDBÀ´Ëµ£¬Ó°ÏìÐÔÄܵÄÖ÷ÒªÊÇ innodb_flush_log_at_trx_commit Õâ¸öÑ¡ÏÈç¹ûÉèÖÃΪ1µÄ»°£¬ÄÇôÿ´Î²åÈëÊý¾ÝµÄʱºò¶¼»á×Ô¶¯Ìá½»£¬µ¼ÖÂÐÔÄܼ±¾çϽµ£¬Ó¦¸ÃÊǸúË¢ÐÂÈÕÖ¾ÓйØϵ£¬ÉèÖÃΪ0ЧÂÊÄܹ»¿´µ½Ã÷ÏÔÌáÉý£¬µ±È»£¬Í¬ÑùÄã¿ÉÒÔSQLÖÐÌá½»¡°SET AUTOCOMMIT = 0¡±À´ÉèÖôﵽºÃµÄÐÔÄÜ¡£ÁíÍ⣬»¹Ìý˵ͨ¹ýÉèÖÃinnodb_buffer_pool_sizeÄܹ»ÌáÉýInnoDBµÄÐÔÄÜ£¬µ«ÊÇÎÒ²âÊÔ·¢ÏÖûÓÐÌرðÃ÷ÏÔµÄÌáÉý¡£
»ù±¾ÉÏÎÒÃÇ¿ÉÒÔ¿¼ÂÇʹÓÃInnoDBÀ´Ìæ´úÎÒÃǵÄMyISAMÒýÇæÁË£¬ÒòΪInnoDB×ÔÉíºÜ¶àÁ¼ºÃµÄÌص㣬±ÈÈçÊÂÎñÖ§³Ö¡¢´æ´¢¹ý³Ì¡¢ÊÓͼ¡¢Ðм¶Ëø¶¨µÈµÈ£¬ÔÚ²¢·¢ºÜ¶àµÄÇé¿öÏ£¬ÏàÐÅInnoDBµÄ±íÏֿ϶¨Òª±ÈMyISAMÇ¿ºÜ¶à£¬µ±È»£¬ÏàÓ¦µÄÔÚmy.cnfÖеÄÅäÖÃÒ²ÊDZȽϹؼüµÄ£¬Á¼ºÃµÄÅäÖã¬Äܹ»ÓÐЧµÄ¼ÓËÙÄãµÄÓ¦Óá£
Èç¹û²»ÊǺܸ´ÔÓµÄWebÓ¦Ó㬷ǹؼüÓ¦Ó㬻¹ÊÇ¿ÉÒÔ¼ÌÐø¿¼ÂÇMyISAMµÄ£¬Õâ¸ö¾ßÌåÇé¿ö¿ÉÒÔ×Ô¼ºÕå×á£
¡¾½áÂÛ·ÖÎö¡¿
InnoDBºÍMyISAMÊÇÔÚʹÓÃMySQL×î³£ÓõÄÁ½¸ö±íÀàÐÍ£¬¸÷ÓÐÓÅȱµã£¬ÊÓ¾ßÌåÓ¦Óöø¶¨¡£»ù±¾µÄ²î±ðΪ£ºMyISAMÀàÐͲ»Ö§³ÖÊÂÎñ´¦ÀíµÈ¸ß¼
Ïà¹ØÎĵµ£º
DELIMITER $$
DROP PROCEDURE IF EXISTS `heli`.`prodtest` $$
CREATE PROCEDURE `heli`.`prodtest` ()
BEGIN
/*¾Ö²¿±äÁ¿µÄ¶¨Òå declare*/
declare pid varchar(45) default '';
declare pq int default 0;
declare pk double default 0.0;
declare cur1 CURSOR FOR SELECT pro ......
1.PRIMARY KEY£¨Ö÷¼üË÷Òý£©
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
2.UNIQUE(ΨһË÷Òý)
mysql>ALTER TABLE `table_name` ADD UNIQUE (
`column`
)
3.INDEX(ÆÕͨË÷Òý)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )
4.FULLTEX ......
×òÌìÓýű¾Á¬½ÓÊý¾Ý¿âʱ³öÏÖÁËÓû§µÇ¼±»¾Ü¾øµÄÌáʾ£¬µ±È»ÊÇÔ¶³ÌÁ¬½ÓMysql¡£´ÓÍøÉϲé²é·¢ÏÖÊÇûÓÐÔ¶³ÌµÇ¼µÄȨÏÞ¡£ÓÃʱ
grant all on *.* to 'user'@'192.168.XX.XX' identified by 'password';
ÔÚʹÓÃÕâ¸öÃÜÁîÇ°Ê×ÏÈÒªÓÃrootÓû§µÇ¼µ½ÐèÒªÔ¶³Ì·ÃÎʵÄÊý¾Ý¿âÉÏ£¬È»ºóÔÚÐÞ¸ÄȨÏÞ¡£ ......
BLOB
TEXT
Ò»¸öBLOB»òTEXTÁУ¬×î´ó³¤¶ÈΪ65535(2^16-1)¸ö×Ö·û¡£
MEDIUMBLOB
MEDIUMTEXT
Ò»¸öBLOB»òTEXTÁУ¬×î´ó³¤¶ÈΪ16777215(2^24-1)¸ö×Ö·û¡£
LONGBLOB
LONGTEXT
Ò»¸öBLOB»òTEXTÁУ¬×î´ó³¤¶ÈΪ4294967295(2^32-1)¸ö×Ö·û¡£
¿Éͨ¹ýÐÞ¸Äphp.iniÎļþ£¬¸Ä±ä×î´ó³¤¶ÈÉèÖá£
; Valid range 0 - 2147483647.  ......