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

¸ßЧµÄMySQL·ÖÒ³

PERCONA PERFORMANCE CONFERENCE 2009ÉÏ£¬À´×ÔÑÅ»¢µÄ¼¸Î»¹¤³Ìʦ´øÀ´ÁËһƪ”Efficient Pagination Using MySQL“µÄ±¨¸æ£¬ÓкܶàÁÁµã£¬±¾ÎÄÊÇÔÚÔ­ÎÄ»ù´¡ÉϵĽøÒ»²½ÑÓÉì¡£
Ê×ÏÈ¿´Ò»Ï·ÖÒ³µÄ»ù±¾Ô­Àí£º
mysql> explain SELECT * from message ORDER BY id DESC LIMIT 10000, 20\G
***************** 1. row **************
id: 1
select_type: SIMPLE
table: message
type: index
possible_keys: NULL
key: PRIMARY
key_len: 4
ref: NULL
rows: 10020
Extra:
1 row in set (0.00 sec)
limit 10000,20µÄÒâ˼ɨÃèÂú×ãÌõ¼þµÄ10020ÐУ¬ÈÓµôÇ°ÃæµÄ10000ÐУ¬·µ»Ø×îºóµÄ20ÐУ¬ÎÊÌâ¾ÍÔÚÕâÀÈç¹ûÊÇlimit 100000,100£¬ÐèҪɨÃè100100ÐУ¬ÔÚÒ»¸ö¸ß²¢·¢µÄÓ¦ÓÃÀÿ´Î²éѯÐèҪɨÃ賬¹ý10WÐУ¬ÐÔÄܿ϶¨´ó´òÕÛ¿Û¡£ÎÄÖл¹Ìáµ½limit nÐÔÄÜÊÇûÎÊÌâµÄ£¬ÒòΪֻɨÃènÐС£
ÎÄÖÐÌáµ½Ò»ÖÖ”clue”µÄ×ö·¨£¬¸ø·­Ò³ÌṩһЩ”ÏßË÷”£¬±ÈÈ绹ÊÇSELECT * from message ORDER BY id DESC£¬°´id½µÐò·ÖÒ³£¬Ã¿Ò³20Ìõ£¬µ±Ç°ÊǵÚ10Ò³£¬µ±Ç°Ò³ÌõÄ¿id×î´óµÄÊÇ9527£¬×îСµÄÊÇ9500£¬Èç¹ûÎÒÃÇÖ»Ìṩ”ÉÏÒ»Ò³”¡¢”ÏÂÒ»Ò³”ÕâÑùµÄÌø×ª£¨²»Ìṩµ½µÚNÒ³µÄÌø×ª£©£¬ÄÇôÔÚ´¦Àí”ÉÏÒ»Ò³”µÄʱºòSQLÓï¾ä¿ÉÒÔÊÇ£º
SELECT * from message WHERE id > 9527 ORDER BY id ASC LIMIT 20;
´¦Àí”ÏÂÒ»Ò³”µÄʱºòSQLÓï¾ä¿ÉÒÔÊÇ£º
SELECT * from message WHERE id < 9500 ORDER BY id DESC LIMIT 20;
²»¹Ü·­¶àÉÙÒ³£¬Ã¿´Î²éѯֻɨÃè20ÐС£
ȱµãÊÇÖ»ÄÜÌṩ”ÉÏÒ»Ò³”¡¢”ÏÂÒ»Ò³”µÄÁ´½ÓÐÎʽ£¬µ«ÊÇÎÒÃǵIJúÆ·¾­Àí·Ç³£Ï²»¶”<ÉÏÒ»Ò³ 1 2 3 4 5 6 7 8 9 ÏÂÒ»Ò³>”ÕâÑùµÄÁ´½Ó·½Ê½£¬Ôõô°ìÄØ£¿
Èç¹ûLIMIT m,n²»¿É±ÜÃâµÄ»°£¬ÒªÓÅ»¯Ð§ÂÊ£¬Ö»Óо¡¿ÉÄܵÄÈÃmСһÏ£¬ÎÒÃÇÀ©Õ¹Ç°ÃæµÄ”clue”×ö·¨£¬»¹ÊÇSELECT * from message ORDER BY id DESC£¬°´id½µÐò·ÖÒ³£¬Ã¿Ò³20Ìõ£¬µ±Ç°ÊǵÚ10Ò³£¬µ±Ç°Ò³ÌõÄ¿id×î´óµÄÊÇ9527£¬×îСµÄÊÇ9500£¬±ÈÈçÒªÌøµ½µÚ8Ò³£¬ÎÒ¿´µÄSQLÓï¾ä¿ÉÒÔÕâÑùд£º
SELECT * from message WHERE id > 9527 ORDER BY id ASC LIMIT 20,20;
Ìø×ªµ½µÚ13Ò³£º
SELECT * from message WHERE id < 9500 ORDER BY id DESC LIMIT 40,20;
Ô­Àí»¹ÊÇÒ»Ñù£¬¼Ç¼סµ±Ç°Ò³idµÄ×î´óÖµºÍ×îСֵ£¬¼ÆËãÌø×ªÒ³ÃæºÍµ±Ç°Ò³Ïà¶ÔÆ«ÒÆ£¬ÓÉÓÚÒ³ÃæÏà½ü£¬Õâ¸öÆ«ÒÆÁ¿²»»áºÜ´ó£¬Õâ


Ïà¹ØÎĵµ£º

mysqlÔÚlinuxϵÄmy.cnfÎļþÔÚÄÄÀ

ÓÃrpm°ü°²×°µÄMySQLÊDz»»á°²×°/etc/my.cnfÎļþµÄ£¬
ÖÁÓÚΪʲôûÓÐÕâ¸öÎļþ¶øMySQLÈ´Ò²ÄÜÕý³£Æô¶¯ºÍ×÷Óã¬ÔÚµãÓÐÁ½¸ö˵·¨£¬
µÚÒ»ÖÖ˵·¨£¬my.cnfÖ»ÊÇMySQLÆô¶¯Ê±µÄÒ»¸ö²ÎÊýÎļþ£¬¿ÉÒÔûÓÐËü£¬ÕâʱMySQL»áÓÃÄÚÖõÄĬÈϲÎÊýÆô¶¯£¬
µÚ¶þÖÖ˵·¨£¬MySQLÔÚÆô¶¯Ê±×Ô¶¯Ê¹ÓÃ/usr/share/mysqlĿ¼ÏµÄmy-medium.cnfÎļþ£¬ÕâÖÖ˵·¨½ö ......

ʹÓÃtcmallocºóµÄMySQL·þÎñÆ÷±äÎȶ¨ÁË£¨Linux£©

֮ǰ£¬Ò»Ö±À§ÄպܾõÄMySQLµÄÎÊÌâÒòΪÓÐÁËtcmallocºóµÃÒÔ½â¾ö¡£
ÎÊÌâÊÇ£ºÍøÕ¾·ÃÎÊÁ¿²»¸ß£¬¸ß·åʱ²¢·¢ÊýÔÚ300-400Ö®¼ä¡£CPU±È½Ï¸ß£¬ÔÚ30-80%Ö®¼ä²¨¶¯µÃÀ÷º¦£¬Ê¹ÓÃtopÃüÁî¿ÉÒÔ¿´µ½ÊÇmysql½ø³Ìµ¼Ö£¬Í¬Ê±ÓÃiostatºÍsar²é¿´iowaitÖµºÜ¸ßÔÚ20-30Ö®¼ä¡£
µ«ÊÇϵͳ»¹¿ÉÒÔÎȶ¨ÔËÐУ¬È»ºóÖÜÆÚÐԵijöÏÖswap·ÖÇøÕ¼ÓÃÂÊÅÊÉý£¬Ö±½Óµ¼Ö ......

ÔõôÑùÐÞ¸Ämysqlµ¼ÈëÎļþ´óСÏÞÖÆ

×Ô¼ºµçÄÔÉÏ×°µÄWAMP£¬ÔÚµ¼ÈëÊý¾Ý¿â±È½Ï´ó£¨´óÓÚ2M£©Ê±Óöµ½´íÎ󣬲»Äܵ¼Èë¡£
ÕÒµ½½â¾ö·½·¨£º php.iniÅäÖÃÎļþÖÐÓÐÈý´¦µØ·½ÐèÒª¸Ä¶¯£º
upload_max_filesize
memory_limit
post_max_size
ÕâÈý¸öÖµ¶¼¹¤¾ßʵ¼ÊÇé¿ö¸ÄÏ£¬ÖØÆô·þÎñÆ÷ÒÔºó£¬ËäÈ»µ¼ÈëʱÈÔÈ»ÏÔʾÊÇ ×î´óÏÞÖÆ£º2,048 KB) £» µ«Êµ¼ÊÉÏÒѾ­¿ÉÒÔµ¼ÈëºÜ´óµÄÊý¾Ý¿â ......

°ïÖúÄã´ÓMySQLÒÆÖ²µ½SQL ServerµÄ¹¤¾ß£¨SSMA£©

For SQL Server2008:
http://www.microsoft.com/downloads/details.aspx?FamilyID=0e6168b0-2d0c-4076-96c2-60bd25294a8e&displaylang=en
For SQL Server2005:
http://www.microsoft.com/downloads/details.aspx?familyid=C6F14640-DA22-4604-AAAA-A45DE4A0CD4A&displaylang=en ......

MySQLµÄ×ÔÔö×Ö¶Î


1.¹Ø¼ü×Ö 
auto_increment
2.×ÔÔöÓ÷¨ 
Àý: 
CREATE TABLE animals ( id mediumint not null auto_increment, 
name char(30) not null, 
primary key (id));
3.¹ØÓÚ×ÔÔö
Q:Ôõô»ñµÃµ±Ç°µÄ×ÔÔöµÄ×î´óÖµ?
A:select @@identity
Q:Ôõô»ñµÃtableµÄµ±Ç°×ÔÔö×î´óÖµ? 
A:select max(i ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ