Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÓÉMySQLÖÐcharºÍvarcharЧÂÊÏëµ½µÄ

¶Ô±ÈcharºÍvarcharËæ±ãÔÚgoogle»ò°Ù¶ÈÖÐËÑһϵõ½µÄ½áÂÛ´ó¸Å¶¼ÊÇ"char¶¨³¤,varchar²»¶¨³¤,charÒª±ÈvarcharÕ¼Óøü¶àµÄ¿Õ¼ä,ÓÉÓÚ¶¨³¤charµÄЧÂʸßÓÚvarchar,char×î´ó255,varchar×î´ó65536"¸ü¸ß¼¶Ò»µãµÄÊý¾ÝÊÇ"charÔÚ´æÈëºÍÈ¡³öµÄʱºò,»á×Ô¶¯°ÑĩβµÄ¿Õ¸ñÈ¥µô,varchar»á¶îÍâµÄ¶àÓÃ1-2¸ö×Ö½ÚÀ´´æ·Å×Ö·û³¤¶È,ÁÐÖÐÓÐÒ»¸övarchar»á×Ô¶¯°Ñcharת»»³Évarchar,¶øµ±varchar³¤¶ÈСÓÚ4ʱ,×Ô¶¯µÄ°Ñvarcharת»»³Échar..."
Ò»°ãÈÏΪ¿Õ¼ä»»Ê±¼ä,ÏÖÔÚ´ÅÅÌÓÖ´óÓÖ²»ÖµÇ®!
µ±Ê¹ÓÃÈ«±í¶¼ÊÇcharÕâµÄ×ֶεÄʱºò,ÄÇô±íÊôÐÔRow_formatÊÇFixedÒ²¾ÍÊǾ²Ì¬±í,ÓëÖ®¶ÔÓ¦µÄ×ÔÈ»¾ÍÊǶ¯Ì¬±íDynamic,¾²Ì¬±í±È¶¯Ì¬±íЧÂÊÒª¸ß,Ö÷ÒªÊÇÒòΪ,»ùÓÚÁ½µã:
1)ûÓÐË鯬,ÿÐеij¤¶ÈÊǹ̶¨,ËùÒÔÔÚÆµ·±¸üеij¡¾°ÏÂ,ÓÈÆäÊÇij¸ö×Ö¶ÎÓÉС±ä´ó.
2)·½±ãÊý¾ÝÎļþÖ¸ÕëµÄ²Ù×÷,ÔÚmyisamÖÐÓÐÒ»¸öÊý¾ÝÎļþÖ¸ÕëµÄ¸ÅÄî,ÊÇÓÃÀ´Ö¸ÏòÊý¾ÝÎļþ,±ÈÈçÔÚË÷ÒýÖÐÖ¸ÏòÊý¾ÝÎļþ.¾²Ì¬±íµÄÆ«ÒÆÁ¿µÄ¹Ì¶¨²»±äµÄ,¶øÔÚ¶¯Ì¬±íÖÐÿÐеÄÊý¾Ý³¤¶È´óС²»Ò»,¾Í¿ÉÄܵ¼ÖÂÊý¾Ý¸ü¶àµÄ¿ªÏú
»ùÓÚÒÔÉÏÁ½µã,ËùÒÔ¾²Ì¬±íÔÚ²éѯ,ÐÞ¸ÄÓµÓнϴóÓÅÊÆ,µ«ÊÇÕâ¸öÓÅÊÆÒ²ÊÇÓÐÊÊÓó¡¾°µÄ.
Ê×ÏȲÂÏëcharÓÉÓÚÿ´Î´æÈ¡¶¼»á×Ô¶¯µÄÏ÷µôĩβµÄ¿Õ¸ñ,¶øÇÒÊý¾ÝÎļþÒ²´ó,ËùÒÔ»áʹÓøü¶àµÄcpuºÍÄÚ´æ×ÊÔ´,ÓÈÆäÔÚÈ¡µÄʱºò,ÒªÊdz¤¶Ì²î¾à½Ï´óµÄʱºò,»¹ÊÇ»áºÜÀ˷ѲÙ×÷µÄ.
Æä´ÎÑéÖ¤Ïë·¨,Ê×ÏȲâÊÔ²åÈëÐÔÄÜ,½¨ÁË2ÕÅ±í²¢µ÷ÓÃsp·Ö±ð²åÈë200WµÄÊý¾Ý
CREATE TABLE `isam_char` (
  `content` char(255) NOT NULL
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
CREATE TABLE `isam_vc` (
  `content` varchar(255) NOT NULL
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
call insert_isam(2000000,'isam_char');
call insert_isam(2000000,'isam_vc');
¶à´Îƽ¾ùisam_char²åÈë200WµÄÊý¾ÝΪ138.21s,¶øisam_vcÉÙÁËÔ¼20sΪ119.80s,ÕâÓ¦¸ÃÊÇÿ´Î²åÈëµÄʱºò,mysqlÒª°Ñchar×Ö¶ÎÌî³äµ½255µÄ²Ù×÷.¹Û²ìÊý¾ÝÎļþ´óС,isam_vcΪ235.8M¶øisam_charΪ1.4G!
ÔÙ²âÊÔ²éѯ,ΪÁ˱£Ö¤Á½ÕßÒ»ÖÂ,Ê×ÏȰÑisam_charÖÐÊý¾Ýɾ³ý,ÔÙ°Ñisam_vcÖÐÊý¾Ýµ¼Èëisam_charÖÐ,ÎÞË÷Òý,½û±Õquery_cache
truncate table isam_char;##¹Û²ìÁËÏÂÊý¾ÝÎļþ,±»Çî¿Õ³É0
insert into isam_char select * from isam_vc;##¹Û²ìÁËÏÂÊý¾ÝÎļþ,ÒÀÈ»ÊÇ1.4G
select * from isam_char limit 1555555,5;
select * from isam_vc limit 1555555,5;
ÒÀ¾É¶à´Î²éѯȥƽ¾ùÖµ,isam_char±íƽ¾ùֵΪ10.50s,¶øisam_vcÔò


Ïà¹ØÎĵµ£º

mysql ±¸·ÝºÍ»Ö¸´²ßÂÔ

mysql ±¸·ÝºÍ»Ö¸´²ßÂÔ
ÎÄÕ·ÖÀà:Êý¾Ý¿â
ÔÚÊý¾Ý¿â±í¶ªÊ§»òË𻵵ÄÇé¿öÏ£¬±¸·ÝÄãµÄÊý¾Ý¿âÊǺÜÖØÒªµÄ¡£Èç¹û·¢Éúϵͳ±ÀÀ££¬Äã¿Ï¶¨ÏëÄܹ»½«ÄãµÄ±í¾¡¿ÉÄܶªÊ§×îÉÙµÄÊý¾Ý»Ö¸´µ½±ÀÀ£·¢ÉúʱµÄ״̬¡£±¾ÎÄÖ÷Òª¶ÔMyISAM±í×ö±¸·Ý»Ö¸´¡£
 
±¸·Ý²ßÂÔÒ»£ºÖ±½Ó¿½±´Êý¾Ý¿âÎļþ£¨²»ÍƼö£©
±¸·Ý²ßÂÔ¶þ£ºÊ¹ÓÃmysqlhotcopy±¸·ÝÊý¾Ý¿â£ ......

Ìí¼Ó/ɾ³ýMySQLÊý¾Ý¿â±íÖеÄ×Ö¶Î

Ìí¼Ó×ֶεĸñʽ
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name alter_specification [, alter_specification] ...alter_specification: table_option ... | ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name ]
eg.
ALTER TABLE myTbl ADD COLUMN newItem VARCHAR(20) DEFAULT "0"  ......

ÈçºÎµ¼Èëµ¼³öMySQLÊý¾Ý¿â *.sqlÎļþ²Ù×÷

 
1. ¸ÅÊö
MySQLÊý¾Ý¿âµÄµ¼È룬ÓÐÁ½ÖÖ·½·¨£º
1) Ïȵ¼³öÊý¾Ý¿âSQL½Å±¾£¬ÔÙµ¼È룻
2) Ö±½Ó¿½±´Êý¾Ý¿âĿ¼ºÍÎļþ¡£
ÔÚ²»Í¬²Ù×÷ϵͳ»òMySQL°æ±¾Çé¿öÏ£¬Ö±½Ó¿½±´ÎļþµÄ·½·¨¿ÉÄÜ»áÓв»¼æÈݵÄÇé¿ö·¢Éú¡£
ËùÒÔÒ»°ãÍÆ¼öÓÃSQL½Å±¾ÐÎʽµ¼Èë¡£ÏÂÃæ·Ö±ð½éÉÜÁ½ÖÖ·½·¨¡£
Linux주
2. ·½·¨Ò» SQL½Å±¾ÐÎʽ
²Ù×÷²½ÖèÈçÏ£º
2 ......

¹ØÓÚMySQLµÄLIMIT Ó﷨СÓÅ»¯£¡

   
½ñÌìÓÐÅóÓÑÎÊÆð´ËÀàÓï¾äµÄÓÅ»¯£¬ÎÒ´óÖ¸øËû½éÉÜÁËÏ´ÓSQL½Ç¶È×ö¼òµ¥µÄÓÅ»¯£¬ÖÁÓÚÓ¦ÓóÌÐò·½ÃæµÄ¿¼ÂÇÔÛÔÝʱ²»¿¼ÂÇ¡£
ÏÂÃæÎÒÀ´¾ÙÒ»¸ö
¼òµ¥µÄÀý×Ó¡£
¿¼ÂÇÈçÏÂ
±í½á¹¹£º
/*DDL Information
For - t_girl.t_page_sample*/
----------------------------------------------
Table   ......

Mysql·ÖÇø


http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html
²é¿´ÊÇ·ñÖ§³Ö·ÖÇø£ºSHOW VARIABLES LIKE '%partition%';
·ÖÇøÓï¾äCREATE TABLE ti (id INT, amount DECIMAL(7,2), tr_date DATE)
ENGINE=INNODB
PARTITION BY HASH(MONTH(tr_date))
PARTITIONS 6; 
---------------------------------- ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ