ͨ¹ý·ÖÇø£¨Partition£©ÌáÉýMySQLÐÔÄÜ
ͨ¹ý·ÖÇø£¨Partition£©ÌáÉýMySQLÐÔÄÜ
×÷Õߣºfoxcai À´Ô´:foxcai µÄ Blog (2006-05-08 14:30:34)
ͨ¹ý·ÖÇø£¨Partition£©ÌáÉýMySQLÐÔÄÜ
——MySQL5.1ÐÂÌØÐÔ·ÒëϵÁÐ
¼¸Äêǰ£¬°³Ð´¹ýһƪÌâΪ“The Foundation of Excellent Performance”µÄÎÄÕÂ(ÏÖÔÚÈÔÈ»¿ÉÒÔÔÚhttp://www.tdan.com/i016fe03.htm¿´µ½)£¬°³¶ÔSQLÓï¾äÊÇÓ°ÏìÊý¾Ý¿âÇý¶¯ÏµÍ³ÐÔÄܵĵÚÒ»ÒªËØµÄ¹ÛµãÓеãÖÊÒÉ¡£ÆäʵÔÚÄÇʱÎÒÔÚÎÄÕÂÖоͼáÐÅÊý¾Ý¿âµÄÎïÀíÉè¼ÆÔڶԸ߼¶Êý¾Ý¿âµÄÐÔÄÜÓ°ÏìÉÏÔ¶±ÈÆäËûÒòËØÖØÒª¡£Í¬Ê±°³»¹¸ø´ó¼Ò¿´ÁËOracleµÄÑо¿£¬ËûÃǽâÊÍÁËΪʲô׾ÁÓµÄÎïÀíÉè¼ÆÊÇÊý¾Ý¿âÍ£»ú£¨ÎÞÂÛÊÇÓмƻ®µÄ»¹ÊÇû¼Æ»®µÄ£©±³ºóµÄÖ÷ÒªÔÒò¡£Õâô¶àÄê¶¼¹ýÀ´À²£¨ÐÒºÃû¶àÉÙÈ˳¯°³ÈÓשͷ£©£¬°³µÄ¹ÛµãÊǸıäÁËһЩ£¬µ«ÔÚÕâµãÉϰ³»¹ÊǼá³ÖDBAÈç¹ûÏëÒª¸ßÐÔÄܵÄÊý¾Ý¿â¾Í±ØÐëÔÚÊý¾Ý¿âµÄÎïÀíÉè¼ÆÉ϶à˼¿¼µÄ¹Ûµã£¬ÕâÑù²ÅÄܼõÉÙÏìӦʱ¼äʹÖÕ¶ËÓû§ÂúÒâ¶ø²»ÊÇÒýÀ´ÂîÉùһƬ¡££¨³ÂÅóÞÈÓ²»ÒªÄÇôÑÏË࣬ºÙºÙ£©
°³½ñÌìÕâô¼¤¶¯ÓÖÏëдÎÄÕµÄÔÒòÊÇMySQL5.1µÄ·¢²¼´øÀ´ÁËÉè¼Æ³¬Ç¿¶¯Á¦Êý¾Ý¿âµÄÇ¿ÓÐÁ¦µÄÎäÆ÷£¬ÈκÎMySQLµÄDBA¶¼Ó¦¸Ã¾¡¿ìѧϰ²¢Ê¹ÓÃËü¡£°³¾õµÃÈç¹ûÄܺܺõÎʹÓÃÕâ¸ö5.1°æ´øÀ´µÄÐÂÌØÐÔ£¬DBA¿ÉÒÔʹ×Ô¼º¹ÜÀíµÄVLDB£¨²»ÖªµÀʲôÊÇVLDB£¿¸æËßÄ㣬ÊǺôóºÃ´óµÄÊý¾Ý¿âµÄÒâ˼£¬Very Large DB£©»òÊý¾Ý²Ö¿âÆæ¼£°ãµÄ»ñµÃ¾Þ´óµÄÐÔÄÜÌáÉý¡£
ʲôÊÇÊý¾Ý¿â·ÖÇø£¿
Êý¾Ý¿â·ÖÇøÊÇÒ»ÖÖÎïÀíÊý¾Ý¿âÉè¼Æ¼¼Êõ£¬DBAºÍÊý¾Ý¿â½¨Ä£ÈËÔ±¶ÔÆäÏ൱ÊìϤ¡£ËäÈ»·ÖÇø¼¼Êõ¿ÉÒÔʵÏֺܶàЧ¹û£¬µ«ÆäÖ÷ҪĿµÄÊÇΪÁËÔÚÌØ¶¨µÄSQL²Ù×÷ÖмõÉÙÊý¾Ý¶ÁдµÄ×ÜÁ¿ÒÔËõ¼õÏìӦʱ¼ä¡£
·ÖÇøÖ÷ÒªÓÐÁ½ÖÖÐÎʽ£º//ÕâÀïÒ»¶¨Òª×¢ÒâÐкÍÁеĸÅÄrowÊÇÐУ¬columnÊÇÁУ©
ˮƽ·ÖÇø£¨Horizontal Partitioning£© ÕâÖÖÐÎʽ·ÖÇøÊǶԱíµÄÐнøÐзÖÇø£¬Í¨¹ýÕâÑùµÄ·½Ê½²»Í¬·Ö×éÀïÃæµÄÎïÀíÁзָîµÄÊý¾Ý¼¯µÃÒÔ×éºÏ£¬´Ó¶ø½øÐиöÌå·Ö¸î£¨µ¥·ÖÇø£©»ò¼¯Ìå·Ö¸î£¨1¸ö»ò¶à¸ö·ÖÇø£©¡£ËùÓÐÔÚ±íÖж¨ÒåµÄÁÐÔÚÿ¸öÊý¾Ý¼¯Öж¼ÄÜÕÒµ½£¬ËùÒÔ±íµÄÌØÐÔÒÀÈ»µÃÒÔ±£³Ö¡£
¾Ù¸ö¼òµ¥Àý×Ó£ºÒ»¸ö°üº¬Ê®Ä귢Ʊ¼Ç¼µÄ±í¿ÉÒÔ±»·ÖÇøÎªÊ®¸ö²»Í¬µÄ·ÖÇø£¬Ã¿¸ö·ÖÇø°üº¬µÄÊÇÆäÖÐÒ»ÄêµÄ¼Ç¼¡££¨ÅóÞÈ×¢£ºÕâÀï¾ßÌåʹÓõķÖÇø·½Ê½ÎÒÃǺóÃæÔÙ˵£¬¿ÉÒÔÏÈ˵һµã£¬Ò»¶¨ÒªÍ¨¹ýij¸öÊôÐÔÁÐÀ´·Ö¸î£¬Æ©ÈçÕâÀïʹÓõÄÁоÍÊÇÄê·Ý£©
´¹Ö±·ÖÇø£¨Vertical Partitioning£© ÕâÖÖ·ÖÇø·½Ê½Ò»°ãÀ´ËµÊÇͨ¹ý¶Ô±í
Ïà¹ØÎĵµ£º
Ê×ÏÈÍ£Ö¹MySQL·þÎñ£ºsudo /etc/init.d/mysql stop
È»ºó±à¼MySQLÅäÖÃÎļþ£ºsudo gedit /etc/mysql/my.cnf
ÔÚmy.cnfÎļþÖеÄ[client]¶ÎÏÂÃæ¼ÓÈë
default-character-set=utf8
[mysqld_safe]
default-character-set=utf8
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8
ÖØÐÂÆô¶¯MySQL·þÎñ ......
Ò»¡¢»ù´¡
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
Create DATABASE database-name
2¡¢ËµÃ÷£ºÉ¾³ýÊý¾Ý¿â
drop database dbname
3¡¢ËµÃ÷£º±¸·Ýsql server
--- ´´½¨ ±¸·ÝÊý¾ÝµÄ device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- ¿ªÊ¼ ±¸·Ý
BACKUP DATABASE pubs TO testBack
4 ......
×öÊý¾Ý¿âµ÷ÓÅ£¬Ò»¸ö¼òµ¥µÄtip¾ÍʹÐÔÄÜÌáÉýÒ»´ó¿éʱ£¬±»°ïÖúµÄÈË×ÔÈ»ÊǸßÐ˶øÇҸм¤£¬ÎÒÒ²ÊÇÂúÐÄ»¶Ï²¡£ÓÃËùѧ°ïÖúÁËËûÈË£¬Ò²ËµÃ÷»¹ÊÇÓÐÒ»¼¼Ö®³¤µÄ£¬ÓÐÒ»ÃÅÄܹ»Ñø»î×Ô¼ºµÄÊÖÒÕ¡£Ò²ËãÊÇÊÖÒÕÈ˰¡¡£
ͬÊÂÈÃÎÒ°ïÖúÓÅ»¯£¬ÔÚslow query logÀï·¢ÏÖÓÐÁ½¸öSQLÖ´ÐеĴÎÊý×î¶à£¬²¢ÇÒÿ´Î¶¼ÔÚÁ½ÃëÒÔÉÏ¡£ÓÃexplain¿´ÁË£¬Ò²Î´·¢ÏÖË÷ÒýʹÓ÷ ......
Ê×ÏÈ¿´MySQL 5.0²Î¿¼ÊÖ²áÖйØÓÚ´´½¨´æ´¢¹ý³ÌµÄÓ﷨˵Ã÷£º
CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter:
......