MySqlÎÞÏÞ·ÖÀàÊý¾Ý½á¹¹
ÎÞÏÞ·ÖÀàÊÇÎÒÃÇ¿ª·¢Öзdz£³£¼ûµÄÓ¦Óã¬ÏñÂÛ̳µÄµÄ°æ¿é£¬CMSµÄÀà±ð£¬Ó¦Óõĵط½Ìرð¶à¡£
ÎÒÃÇ×î³£¼û×î¼òµ¥µÄ·½·¨¾ÍÊÇÔÚMySqlÀïID ,parentID,name£º
ÓŵãÊǼòµ¥£¬½á¹¹¼òµ¥¡£
ȱµãÊÇЧÂʲ»¸ß£¬ÒòΪÿһ´ÎµÝ¹é¶¼Òª²éѯÊý¾Ý¿â£¬¼¸°ÙÌõÊý¾Ý¿âʱ¾Í²»ÊǺܿìÁË£¡
´æ´¢Ê÷ÊÇÒ»ÖÖ³£¼ûµÄÎÊÌ⣬¶àÖÖ½â¾ö·½°¸¡£Ö÷ÒªÓÐÁ½ÖÖ·½·¨£ºÁÚ½Ó±íµÄÄ£ÐÍ£¬²¢ÐÞ¸ÄÊ÷ǰÐò±éÀúËã·¨¡£
ÎÒÃǽ«Ì½ÌÖÕâÁ½ÖÖ·½·¨µÄ½ÚÄܵȼ¶µÄÊý¾Ý¡£ÎÒ»áʹÓÃÊ÷´ÓÒ»¸öÐé¹¹µÄÍøÉÏʳƷÉ̵ê×÷Ϊһ¸öÀý×Ó¡£ÕâʳƷÉ̵ê×éÖ¯ÆäʳƷÀ࣬ͨ¹ýÑÕÉ«ºÍÀàÐÍ¡£Õâ¿ÃÊ÷¿´ÆðÀ´ÏñÕâÑù£º
ÏÂÃæÎÒÃǽ«ÓÃÁíÍâÒ»ÖÖ·½·¨£¬Õâ¾ÍÊÇÔ¤ÅÅÐò±éÀúÊ÷Ëã·¨(modified preorder tree traversal algorithm)
ÕâÖÖ·½·¨´ó¼Ò¿ÉÄܽӴ¥µÄ±È½ÏÉÙ£¬³õ´ÎʹÓÃÒ²²»ÏñÉÏÃæµÄ·½·¨ÈÝÒ×Àí½â£¬µ«ÊÇÓÉÓÚÕâÖÖ·½·¨²»Ê¹Óõݹé²éѯËã·¨£¬Óиü¸ßµÄ²éѯЧÂÊ¡£
ÎÒÃÇÊ×ÏȽ«¶à¼¶Êý¾Ý°´ÕÕÏÂÃæµÄ·½Ê½»ÔÚÖ½ÉÏ£¬ÔÚ¸ù½ÚµãFoodµÄ×ó²àдÉÏ 1 È»ºóÑØ×ÅÕâ¸öÊ÷¼ÌÐøÏòÏ ÔÚ Fruit µÄ×ó²àдÉÏ 2 È»ºó¼ÌÐøÇ°½ø£¬ÑØ×ÅÕû¸öÊ÷µÄ±ßÔµ¸øÃ¿Ò»¸ö½Úµã¶¼±êÉÏ×ó²àºÍÓÒ²àµÄÊý×Ö¡£×îºóÒ»¸öÊý×ÖÊDZêÔÚFood ÓÒ²àµÄ 18¡£ ÔÚÏÂÃæµÄÕâÕÅͼÖÐÄã¿ÉÒÔ¿´µ½Õû¸ö±êºÃÁËÊý×ֵĶ༶½á¹¹¡££¨Ã»Óп´¶®£¿ÓÃÄãµÄÊÖÖ¸Ö¸×ÅÊý×Ö´Ó1Êýµ½18¾ÍÃ÷°×Ôõô»ØÊÂÁË¡£»¹²»Ã÷°×£¬ÔÙÊýÒ»±é£¬×¢ÒâÒÆ¶¯ÄãµÄÊÖÖ¸£©¡£
ÕâЩÊý×Ö±êÃ÷Á˸÷¸ö½ÚµãÖ®¼äµÄ¹ØÏµ£¬"Red"µÄºÅÊÇ3ºÍ6£¬ËüÊÇ "Food" 1-18 µÄ×ÓËï½Úµã¡£ ͬÑù£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ ËùÓÐ×óÖµ´óÓÚ2ºÍÓÒֵСÓÚ11µÄ½Úµã ¶¼ÊÇ"Fruit" 2-11 µÄ×ÓËï½Úµã
ÈçͼËùʾ£º
ÕâÑùÕû¸öÊ÷×´½á¹¹¿ÉÒÔͨ¹ý×óÓÒÖµÀ´´æ´¢µ½Êý¾Ý¿âÖС£¼ÌÐøÖ®Ç°£¬ÎÒÃÇ¿´Ò»¿´ÏÂÃæÕûÀí¹ýµÄÊý¾Ý±í¡£
×¢Ò⣺ÓÉÓÚ"left"ºÍ"right"ÔÚ SQLÖÐÓÐÌØÊâµÄÒâÒ壬ËùÒÔÎÒÃÇÐèÒªÓÃ"lft"ºÍ"rgt"À´±íʾ×óÓÒ×ֶΡ£ ÁíÍâÕâÖֽṹÖв»ÔÙÐèÒª"parent"×Ö¶ÎÀ´±íʾÊ÷×´½á¹¹¡£Ò²¾ÍÊÇ ËµÏÂÃæÕâÑùµÄ±í½á¹¹¾Í×ã¹»ÁË¡£
SELECT * from tree WHERE lft BETWEEN 2 AND 11;
¿´µ½Á˰ɣ¬Ö»ÒªÒ»¸ö²éѯ¾Í¿ÉÒԵõ½ËùÓÐÕâЩ½Úµã¡£ÎªÁËÄܹ»ÏñÉÏÃæµÄµÝ¹éº¯ÊýÄÇÑùÏÔʾÕû¸öÊ÷×´½á¹¹£¬ÎÒÃÇ»¹ÐèÒª¶ÔÕâÑùµÄ²éѯ½øÐÐÅÅÐò¡£ÓýڵãµÄ×óÖµ½øÐÐÅÅÐò£º
SELECT * from tree WHERE lft BETWEEN 2 AND 11 ORDER BY lft ASC;
ÄÇôij¸ö½Úµãµ½µ×ÓжàÉÙ×ÓËï½ÚµãÄØ£¿ºÜ¼òµ¥£¬×ÓËï×ÜÊý=(ÓÒÖµ-×óÖµ-1)/2&nb
Ïà¹ØÎĵµ£º
ʹÓÃÁÙʱ±íµÄºÃ´¦£º
ʹÓÃÁÙʱ±í´æ·ÅÖмä½á¹û,¼ÓËÙ²éѯ£¬»ò´æ·ÅÁÙʱ½á¹û.
(1)
´´½¨ÁÙʱ±íºÜÈÝÒ×£¬¸øÕý³£µÄCREATE TABLEÓï¾ä¼ÓÉÏTEMPORARY¹Ø¼ü×Ö£º
CREATE TEMPORARY TABLE tmp_table (
name VARCHAR(10) NOT NULL,
value INTEGER NOT NULL
)
(2)
ÁÙʱ±í½«ÔÚÄãÁ¬½ÓMySQLÆÚ¼ä´æÔÚ¡£µ±Äã¶Ï¿ªÊ±£¬MySQL ......
ÅäÖø´ÖÆ
1.ÅäÖÃserver-idºÍlog-bin
2.Ö÷¿âÖÐÌí¼ÓÓÃÓÚ¸´ÖƵÄÓû§
GRANT REPLICATION SLAVE,reload,super ON *.*
TO 'repl'@'%.vm.dba.com' IDENTIFIED BY 'slavepass'
3.ÔÚ´Ó¿âÉÏÉèÖÃÓÃÓÚ¸´ÖƵÄÑ¡Ïî
server-id
master-host
master-user
master-password
--read-only ¸ÃÑ¡ÏîÈôӷþÎñÆ÷Ö»ÔÊÐíÀ´× ......
×¢Ò⣺mysqlÖеÄÓû§±äÁ¿µÄÉúÃüÖÜÆÚÊǻỰ¼¶µÄ£¬²»ÊÇÓï¾ä¼¶µÄ£¡
´æ´¢¹ý³Ì--------------------------------------------------
drop procedure if exists usp_simple;
delimiter //
create procedure usp_simple(in ip int, out op int, inout iop int)
begin
select count(*) into op from t1;
set op ......
MySQL³£ÓõĴ洢ÒýÇæÎªMyISAM¡¢InnoDB¡¢MEMORY¡¢MERGE£¬ÆäÖÐInnoDBÌṩÊÂÎñ°²È«±í£¬ÆäËû´æ´¢ÒýÇæ¶¼ÊÇ·ÇÊÂÎñ°²È«±í¡£
MyISAMÊÇMySQLµÄĬÈÏ´æ´¢ÒýÇæ¡£MyISAM²»Ö§³ÖÊÂÎñ¡¢Ò²²»Ö§³ÖÍâ¼ü£¬µ«Æä·ÃÎÊËٶȿ죬¶ÔÊÂÎñÍêÕûÐÔûÓÐÒªÇó¡£
InnoDB´æ´¢ÒýÇæÌṩÁ˾ßÓÐÌá½»¡¢»Ø¹öºÍ±ÀÀ£»Ö¸´ÄÜÁ¦µÄÊÂÎñ°²È«¡£µ«ÊÇ±ÈÆðMyISAM´æ´ ......
·ÀÖ¹×¢ÈëµÄ¼¸ÖÖ°ì·¨
ÆäʵÔÀ´¾ÍÊÇÎÒÃÇÐèÒª¹ýÂËһЩÎÒÃdz£¼ûµÄ¹Ø¼ü×ֺͷûºÏÈ磺
Select£¬insert£¬update£¬delete£¬and£¬*£¬µÈµÈ
function inject_check($sql_str) {
return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file
|outfile', $sql_str); & ......