ä½ æ¥èå¦ä¹ çäºåï¼å¦ä¹ çæå
é¨èµæï¼æä¹æ¥èVFäºçº§äºï¼èä¸éè¿äºï¼ä½ å°æ·å®ç½ççå§ï¼ä»¥ä¸æ¯æå¨èå¸é£èçä¸æ¥åèµæã
1ã å¤æ³¨åå段ä¸å符åå段æä»ä¹åºå«ï¼
å符åï¼Characterï¼æ°æ®ï¼æ¯æè¿°ä¸å
·æ计ç®è½åçæåæ°æ®ç±»åãå符åæ°æ®ç±æ±åãè±æåæ¯ãæ°åå符ãç©ºæ ¼åå
¶ä»ä¸ç¨å符ç»æï¼é¿åº¦èå´æ¯0--254个å符ã使ç¨æ¶å¿
é¡»ç¨åå¼å·(""ï¼æåå¼å·ï¼''ï¼æ¬èµ·æ¥ï¼ä¸ä¸ªæ±åç¸å½äºä¸¤ä¸ªå符ã
å¤æ³¨åï¼Memoï¼æ°æ®ï¼ç¨äºè¡¨ç¤ºè¾é¿çå符åæ°æ®ãå¤æ³¨åæ°æ®æ²¡ææ°æ®é¿åº¦éå¶ï¼ä»
åéäºç°æçç£ç空é´ãå®åªç¨äºæ°æ®è¡¨ä¸çå段类åçå®ä¹ï¼å
¶å段é¿åº¦åºå®ä¸º4个å符ï¼èå®é
æ°æ®è¢«åæ¾å¨ä¸æ°æ®è¡¨æ件ååçå¤æ³¨æ件ä¸(.fpt)ï¼é¿åº¦æ ¹æ®æ°æ®çå
容èå®ã
2ã ä¿¡æ¯åæ°æ®æä»ä¹åºå«ï¼
ä¿¡æ¯ï¼Informationï¼æ¯å®¢è§äºç©å±æ§çåæ ï¼å¹¶å¯¹äººç±»ç客è§è¡ä¸ºäº§çå½±åã
æ°æ®ï¼Dataï¼æ¯åæ 客è§äºç©å±æ§çè®°å½ï¼æ¯ä¿¡æ¯çè½½ä½ãå¦æ°å¼ãæåã声é³ãå¾å½¢ãå¾åçï¼æ¯ä¿¡æ¯çå
·ä½è¡¨ç°å½¢å¼ã
3ã æ°æ®å¤ç çç®çæ¯ä»ä¹ï¼
æ°æ®å¤çä¹ç§°ä¸ºä¿¡æ¯å¤çãæè°æ°æ®å¤çï¼å®é
ä¸å°±æ¯å©ç¨è®¡ç®æºå¯¹åç§ç±»åçæ°æ®è¿è¡å¤çãæ°æ®å¤çå
æ¬å¯¹æ°æ®çééãæ´çãåå¨ãåç±»ãæåºãæ£ç´¢ãç»´æ¤ãå å·¥ãç»è®¡åä¼ è¾çä¸ç³»åæä½è¿ç¨ã
æ°æ®å¤ççç®çæ¯ä»å¤§éçãåå§çæ°æ®ä¸è·å¾äººä»¬æéè¦çèµæ并æåæç¨çæ°æ®æ份ï¼ä½ä¸ºè¡ä¸ºåå³ççä¾æ®ã
4ã ä»ä¹æ¯æ°æ®æ¨¡åï¼
æ°æ®æ¨¡åæ¯æåæ 客è§äºç©å客è§äºç©é´èç³»çæ°æ®ç»ç»çç»æåå½¢å¼ã
5ã å
³ç³»æ¨¡åæåªäºä¸»è¦çç¹ç¹ï¼
å
³ç³»æ¨¡åç主è¦ç¹ç¹ï¼
(1) å
³ç³»ä¸æ¯ä¸æ°æ®é¡¹æ¯ç¬ç«çï¼æ¯æåºæ¬çæ°æ®åä½ï¼
(2) æ¯ä¸ç«å称为ä¸ä¸ªå段ï¼æ°æ®é¡¹æ¯åå±æ§çï¼åæ°æ ¹æ®éè¦è设ï¼ä¸ååç顺åºæ¯ä»»æçï¼ (3) æ¯ä¸æ¨ªè¡ç§°ä¸ºä¸ä¸ªè®°å½ï¼ç±ä¸ä¸ªäºç©ç诸å¤å±æ§ææï¼ä¸åè¡ç顺åºå¯ä»¥æ¯ä»»æçï¼ (4) ä¸ä¸ªå
³ç³»æ¯ä¸å¼ äºç»´è¡¨ï¼ä¸å
许æç¸åçå段åï¼ä¹ä¸å
许æç¸åçè®°å½è¡ã
6ã ä»ä¹æ¯æ°æ®åºï¼
æè°æ°æ®åºï¼å°±æ¯ä»¥ä¸å®çç»ç»æ¹å¼å°ç¸å
³çæ°æ®ç»ç»å¨ä¸èµ·ï¼åæ¾å¨è®¡ç®æºå¤åå¨å¨ä¸å½¢æçï¼è½ä¸ºå¤ä¸ªç¨æ·å
±äº«çï¼ä¸åºç¨ç¨åºå½¼æ¤ç¬ç«çä¸ç»ç¸å
³æ°æ®çéåã
7ã ä»ä¹æ¯å
³ç³»æ°æ®åºï¼
å
³ç³»æ°æ®åºï¼Relational Data Baseï¼æ¯ç±è¥å¹²å¼ äºç»´è¡¨ç»æçãä¸å¼ äºç»´è¡¨ç§°ä¸ºä¸ä¸ªå
³ç³»æä¸ä¸ªæ°æ®è¡¨
8ã æ°æ®åºåºç¨ç³»ç»ç主è¦ç»æé¨åæ¯ä»ä¹ï¼
æ°æ®åºåºç¨ç³»ç»æ¯ç±è®¡ç®æºç¡¬ä»¶ã软件ãæ°æ®å人åæç»æçï¼ä¸ºç¨æ·æä¾ä¿¡æ¯æå¡çç³»ç»ã
9ã å
ååéãæ°ç»åéãå段åéæä½åºå«ï¼
å
ååéçç±»åææ°å¼åãæµ®ç¹åãå符åãé»è¾åãæ¥æååæ¥ææ¶é´å6ç§ï¼å®çå®ä¹æ¯éè¿èµå¼è¯å¥æ¥è¿è¡çã å¦ï¼a="abcd"
æ°ç»åéç®ç§°æ°ç» æ°ç»æ¯ä¸ç»æåºçåéçéåãæ¯ä¸ä¸ªåéåæ¾ä¸ä¸ªæ°æ®ï¼æ¯ä¸ä¸ªæ°ç»åæ¾ä¸ç»æ°æ®ãæ¯ä¸ä¸ªæ°ç»é½æä¸ä¸ªååï¼ç§°ä¸ºæ°ç»åãæ°ç»ä¸çæ¯ä¸ä¸ªåé称为æ°ç»å
ç´ ï¼æ¯ä¸ä¸ªæ°ç»å
ç´ çååç±æ°ç»ååä¸æ ç»æï¼ä¸æ å³æ°ç»å
ç´ å¨æ°ç»ä¸çä½ç½®ãæ°ç»å为ä¸ç»´æ°ç»ãäºç»´æ°ç» éè¿DimensionæDeclareå®ä¹
å段åé:ææ°æ®è¡¨ä¸å·²å®ä¹çä»»æä¸ä¸ªå段ã å段åéçæ°æ®ç±»åææ°å¼åãæµ®ç¹åãè´§å¸åãæ´åãå精度åãå符åãé»è¾åãæ¥æåãæ¥ææ¶é´åãå¤æ³¨ååéç¨åçã
10ã å©ç¨è¡¨è®¾è®¡å¨å建表ä¸ç¨è¡¨å导å建表æä»ä¹åºå«ï¼????????????????
11ã å é¤è¡¨ä¸çæ°æ®æå ç§æ¹æ³ï¼æä»ä¹ä¸åï¼
é»è¾å é¤è¡¨ä¸çè®°å½:Delete [<èå´>] For [<æ¡ä»¶è¡¨è¾¾å¼>]
ç©çå é¤è¡¨ä¸çè®°å½Pack ç©çå é¤è¡¨ä¸ææé»è¾å é¤çè®°å½
Zap ç©çå é¤è¡¨ä¸ææçè®°å½
12ã ç®è¿°æ°æ®è¡¨çç»æï¼
ä¸ä¸ªæ°æ®è¡¨ç±æ°æ®è¡¨åãæ°æ®è¡¨çç»æãæ°æ®è¡¨çè®°å½ä¸è¦ç´ ææã
13ã ä»ä¹æ¯ç´¢å¼ï¼
ç´¢å¼æ¯ä½¿è¡¨ä¸çè®°å½æç
§ä¸å®ç顺åºæåçææ¯ï¼æ¯ä¸ä¸ªç±ç´¢å¼åºå·å表çè®°å½å·ç»æçå表ã
14ã ç´¢å¼ç±»åæå ç§ï¼åæä»ä¹ç¹ç¹ï¼
1ï¼ä¸»ç´¢å¼ï¼Primary Indexï¼
ç´¢å¼è¡¨è¾¾å¼çå¼ä¸è½éå¤ã主索å¼åªç¨äºæ°æ®åºè¡¨ï¼ä¸ä¸å¼ 表åªè½å建ä¸ä¸ªä¸»ç´¢å¼ï¼èªç±è¡¨ä¸è½å建主索å¼ã
2ï¼åéç´¢å¼ï¼Candidate Indexï¼
ç´¢å¼è¡¨è¾¾å¼çå¼ä¸è½éå¤ãä¸å¼ 表å¯ä»¥å»ºç«å¤ä¸ªä¾¯éç´¢å¼ï¼ä¾¯éç´¢å¼å¯ç¨äºæ°æ®åºè¡¨åèªç±è¡¨
3ï¼æ®éç´¢å¼ï¼Regular Indexï¼
ç´¢å¼è¡¨è¾¾å¼çå¼å¯ä»¥åºç°éå¤ï¼ä¸å¨ç´¢å¼è¡¨ä¸ï¼å
·æéå¤å¼çè®°å½ä¹è¢«éå¤åè´®ã
4ï¼å¯ä¸ç´¢å¼ï¼Unique Indexï¼
ç´¢å¼è¡¨è¾¾å¼çå¼å¯ä»¥åºç°éå¤ï¼ä½å¨ç´¢å¼è¡¨ä¸ï¼åªåè´®å
¶ä¸ç第ä¸ä¸ªã
15ã 为ä»ä¹è¦å»ºç«ç´¢å¼ï¼æä¹æ¯ä»ä¹ï¼
ç´¢å¼æ¯ä½¿
æåº,æåºå°±å¯è¿è¡å¿«éæ¥è¯¢ã
16ã å¦ä½ä½¿ç¨ç´¢å¼ï¼
æç´¢å¼å段ï¼ç´¢å¼è¡¨è¾¾å¼æåº
SET ORDER TO [TAG<ç´¢å¼æ è¯å>]
17ã å¨æ°æ®åºæä½ç¯å¢ä¸å¯¹æ°æ®è¡¨è¿è¡æä½æä»ä¹å¥½å¤ï¼
åªæææå
³ç³»ç表åæ¾å¨åä¸ä¸ªæ°æ®åºä¸ï¼ç¡®å®å®ä»¬çå
³èå
³ç³»ï¼è¡¨ä¸çæ°æ®æè½è¢«æ´å
åçå©ç¨ã
18ã æ°æ®åºä¸çæ°æ®è¡¨é´æå ç§å
³èå
³ç³»ï¼å»ºç«è¿äºå
³èçä¾æ®æ¯ä»ä¹ï¼
ä¸å¯¹ä¸
ä¸å¯¹å¤ å¤å¯¹ä¸ï¼å»ºç«æ°æ®åºæ件ä¸ç表é´å
³èï¼ä¸æ¯è¦å»ºç«å
³èç表å
·æç¸åå±æ§çå段ï¼äºæ¯æ¯ä¸ªè¡¨é½è¦ä»¥è¯¥å段建ç«ç´¢å¼ã
è§å¾æ¯ä»ä¸ä¸ªæå¤ä¸ªæ°æ®è¡¨ä¸å¯¼åºç"表"ã
æ¥è¯¢å¯ä»¥ä»å个æå¤ä¸ªè¡¨ä¸æåæç¨çæ°æ®ãå©ç¨æ¥è¯¢å¯ä»¥å®ç°å¯¹æ°æ®åºä¸æ°æ®çæµè§ãçéãæåºãæ£ç´¢ãç»è®¡åå å·¥çæä½ï¼å©ç¨æ¥è¯¢å¯ä»¥ä¸ºå
¶ä»æ°æ®åºæä¾æ°çæ°æ®è¡¨
19ã è§å¾åæ¥è¯¢æä»ä¹ä¸åï¼åæä»ä¹ç¹ç¹ï¼
å©ç¨è§å¾å¯ä»¥æ´æ°æ°æ®è¡¨ä¸çæ°æ®ãå 为è§å¾å¯ä»¥éå®æ°æ®è¡¨ä¸æ°æ®ç使ç¨èå´ï¼å æ¤ï¼ä¹å°±éå®äºå¯æ´æ°çæ°æ®ï¼æ°æ®è¡¨ä¸å
¶ä»çæ°æ®å°±ä¸ä¼è¢«ç ´åï¼ç±æ¤å¯ä»¥æé«æ°æ®ç»´æ¤çå®å
¨æ§ã
使ç¨æ¥è¯¢å使ç¨è§å¾ä¸æ ·ï¼æ¯ä½¿ç¨æ°æ®è¡¨åæ°æ®åºæ´æ¹ä¾¿ãå¿«æ·åå®å
¨ã
è§å¾åæ¥è¯¢ç¸æ¯ï¼è§å¾æ¯æ¥è¯¢å¤äºä¸ä¸ªæ´æ°åè½ï¼ä½æ¯æ¥è¯¢çè¾åºæ ¼å¼å¤æ ·åã
20ã 项ç®ç®¡çåæ¯ä»ä¹ï¼ä½¿ç¨å®æä»ä¹å¥½å¤ï¼
项ç®ç®¡çå¨æ¯æä¸å®ç顺åºåé»è¾å
³ç³»ï¼å¯¹æ°æ®åºåºç¨ç³»ç»çæ件è¿è¡ææç»ç»çå·¥å
·ã使ç¨é¡¹ç®ç®¡çå¨å¯ä»¥ç¨æç®åå¯è§åçæ¹æ³å¯¹æ°æ®è¡¨åæ°æ®åºè¿è¡ç®¡çï¼å¨è¿è¡åºç¨ç¨åºå¼åæ¶ï¼å¯ä»¥ææå°ç»ç»æ°æ®è¡¨ã表åãæ°æ®åºãèåãç±»ãç¨åºåå
¶ä»æ件ï¼å¹¶å°å®ä»¬ç¼è¯æå¯ç¬ç«è¿è¡ç.APPæ.EXEæ件ã
21ã ä»ä¹æ¯ç±»ï¼ä»ä¹æ¯å¯¹è±¡ï¼
æè°ç±»(Class)ï¼å°±æ¯å
·æå
±åå±æ§åè¡ä¸ºç¹å¾ç对象çéåä¸æ½è±¡ã
对象ï¼Objectï¼æ¯åæ 客è§äºç©å±æ§åè¡ä¸ºç¹å¾çæè¿°ãæ¯ä¸ªå¯¹è±¡é½å
·ææè¿°å
¶ç¹å¾çå±æ§(ç¨æ°æ®æ¥è¡¨ç¤ºï¼ï¼ä»¥åéå±äºå®çè¡ä¸ºï¼ç¨ä»£ç æ¥å®ç°ï¼ç§°ä¸ºå¯¹è±¡ç"æ¹æ³"ï¼
22ã ç±»ä¸å¯¹è±¡çæ ¹æ¬åºå«æ¯ä»ä¹ï¼
ç±»æ¯å¯¹è±¡çæ½è±¡ï¼å¯¹è±¡æ¯ç±»çå®ä¾ãç±»æ¯ä¸è½ç´æ¥è¢«å¼ç¨çï¼å¿
é¡»å°ç±»å®ä¹æ对象æ¹å¯ä½¿ç¨ï¼å°ç±»è½¬æ¢æ对象ã
23ã äºä»¶ä¸æ¹æ³æä½ä¸åï¼åèªæä»ä¹ç¹å¾ï¼
常ç¨äºä»¶ï¼åå»ï¼clickï¼ãé¼ æ æé®ï¼mousedownï¼ãæ¿æ´»äºä»¶ï¼activateï¼ã计æ¶å¨ï¼timerï¼
常ç¨æ¹æ³ï¼è®¾ç½®ç¦ç¹ï¼setfocusï¼ãå·æ°(refreshï¼ãéæ¾ï¼releaseï¼ã移å¨ï¼moveï¼ãéç½®ï¼resetï¼ãæ¾ç¤ºï¼showï¼
24ã 表å设计æå ç§æ¹æ³ï¼åèªæä»ä¹ç¹ç¹ï¼
ç¨èåæ¹å¼ï¼å½ä»¤æ¹å¼ï¼è¡¨åå导å建表å é¤ä½¿ç¨è¡¨å设计å¨å建æ°ç表åå¤ï¼è¿å¯ä»¥ä½¿ç¨è¡¨åå导å建æ°ç表åï¼ä¸è¿ç±è¡¨åå导å建çåªè½æ¯æ°æ®è¡¨åã
ç®è¿°âææ¬æ¡âä¸âæ ç¾âæ§ä»¶çä½ç¨ï¼
"ææ¬æ¡"æ§ä»¶ä¸»è¦ç¨äºè¡¨ä¸éå¤æ³¨ååéç¨åå段å¼çè¾å
¥ãè¾åºï¼ä»¥åå
ååéèµå¼åè¾åºçæä½
æ ç¾æ§ä»¶
"æ ç¾"æ§ä»¶è½æä¸å®æ ¼å¼å¨è¡¨åä¸æ¾ç¤ºææ¬ä¿¡æ¯ï¼ç¨æ¥æ¾ç¤ºè¡¨åä¸åç§è¯´æåæ示信æ¯ãä¸æ¦"æ ç¾"æ§ä»¶çå±æ§ãäºä»¶åæ¹æ³è¢«å®ä¹ï¼è¾åºä¿¡æ¯å°æ ¹æ®è¿äºå®ä¹ææå®çæ ¼å¼è¾åºã
25ã ç®è¿°âææ¬æ¡âä¸âæ ç¾âæ§ä»¶ç主è¦åºå«ã
"ææ¬æ¡"æ§ä»¶ä¸"æ ç¾"æ§ä»¶æ主è¦çåºå«å¨äºå®ä»¬ä½¿ç¨çæ°æ®æºï¼controlsourceï¼æ¯ä¸åçã
"æ ç¾"æ§ä»¶çæ°æ®æºæ¥èªäºå
¶"Caption"å±æ§ï¼"ææ¬æ¡"æ§ä»¶çæ°æ®æºæ¥èªäºå
¶"Control Source"å±æ§ï¼å¯ä»¥æ¯è¡¨ä¸çéå¤æ³¨åãéç¨åå段åå
ååéã
"ææ¬æ¡"æ§ä»¶çå±æ§ä¸»è¦å
æ¬ï¼"ææ¬æ¡"ç大å°ï¼"ææ¬æ¡"ä¸è¾å
¥ãè¾åºä¿¡æ¯åä½ç大å°ãé£æ ¼åé¢è²çã
26ã 表åæ§ä»¶çå±æ§å¦ä½å®ä¹ï¼æå ç§æ¹æ³ï¼
表å常ç¨å±æ§ï¼autocenterã backcolorã captionã heightã maxbuttonã widthãpicture
å©ç¨å±æ§çªå£è®¾ç½®å¯¹è±¡å±æ§ å©ç¨ä»£ç çªå£ç¼è¾äºä»¶è¿ç¨ å©ç¨å¸å±å·¥å
·æ æåæ§ä»¶
27ã ä»ä¹æ¯å½åè®°å½ï¼å®å¨è¡¨æä½ä¸æä»ä¹ä½ç¨ï¼
å½åæä½çè®°å½ï¼ç§°ä¸ºå½åè®°å½ï¼å¨ç³»ç»å
é¨ï¼æä¸ä¸ªè®°å½æéå§ç»æåå½åè®°å½
ï¼ å½è¡¨æå¼æ¶ï¼å½åè®°å½ä¸ºç¬¬ä¸ä¸ªè®°å½ï¼å³è®°å½æéæå第ä¸ä¸ªè®°å½ã表æ件ä¸æ¦æå¼ï¼è¡¨ä¸çè®°å½æéå¯ä»¥ç§»å¨çï¼æ°æ®è¡¨ä¸è®°å½çå®ä½å³ç§»å¨è®°å½æéï¼å®è´¨ä¸å°±æ¯ç¡®å®åªä¸ä¸ªè®°å½ä¸ºå½åè®°å½ã
28ã é»è¾å é¤è®°å½åç©çå é¤è®°å½æä»ä¹ä¸åï¼
é»è¾å é¤å°±æ¯ç»ææ¶ä¸ä½¿ç¨çè®°å½å ä¸ä¸ªå é¤æ è®°ãå¦å¤ï¼å¯¹éè¦å½»åºå é¤çè®°å½ï¼ä¹å¿
é¡»è¦å
åé»è¾å é¤åååç©çå é¤ã
ç©çå é¤å°±æ¯ææ æçè®°å½å½»åºä»ç£çä¸å é¤æãè¥è¦æ³å½»åºå é¤è¡¨ä¸é¨åæ æçæ°æ®ï¼å¿
é¡»å
åé»è¾å é¤åååç©çå é¤ï¼è¥è¦æ³å½»åºå é¤è¡¨ä¸å
¨é¨æ æçæ°æ®ï¼ä¹å¯ç´æ¥åç©çå é¤ã
29ã è¿ç¨å¼ç¨åºçåºæ¬ç»ææ¯ä»ä¹ï¼
Visual FoxProä¸ä»
æ¯æä¼ ç»çè¿ç¨å¼ç¨åºè®¾è®¡ææ¯ï¼è¿æ¯æé¢å对象ç¨åºè®¾è®¡ææ¯ï¼å¹¶å¨ç¨åºè¯è¨æ¹é¢ä½äºå¼ºæåçæ©å
ã
è¿ç¨å¼ç¼ç¨å¨è®¾è®¡ç¨åºæ¶ï¼å¿
é¡»èèç¨åºä»£ç çå
¨é¨æµç¨ï¼èé¢å对象ç¼ç¨å¨è®¾è®¡ç¨åºæ¶ï¼èèçåæ¯å¦ä½å建对象以åå建ä»ä¹æ ·ç对象ã
é¢å对象ç¼ç¨æ¯å¯¹è¿ç¨å¼ç¼ç¨ææ³çåé©ï¼å®å¼å
¥äºè®¸å¤æ°çæ¦å¿µï¼æåºäºæ¯è¿ç¨å¼ç¼ç¨è¯è¨æ´é«çº§çé¢å对象ç¼ç¨çè¯è¨ï¼è¿äºæ¦å¿µåè¯è¨ä½¿å¾å¼ååºç¨ç¨åºåå¾æ´å®¹æï¼èæ¶æ´å°ãæçæ´é«ã
MySQLçåºç¨
ä¸å
¶ä»ç大åæ°æ®åºä¾å¦OracleãDB2ãSQL Serverçç¸æ¯ï¼MySQLèªæå®çä¸è¶³ä¹å¤ï¼å¦è§æ¨¡å°ãåè½æéï¼MySQL Clusterçåè½åæçé½ç¸å¯¹æ¯è¾å·®ï¼çï¼ä½æ¯è¿ä¸æ¯«ä¹æ²¡æåå°å®å欢è¿çç¨åº¦ã对äºä¸è¬ç个人使ç¨è
åä¸å°åä¼ä¸æ¥è¯´ï¼MySQLæä¾çåè½å·²ç»ç»°ç»°æä½ï¼èä¸ç±äºMySQLæ¯å¼æ¾æºç 软件ï¼å æ¤å¯ä»¥å¤§å¤§éä½æ»ä½æ¥æææ¬ã
ç®åInternetä¸æµè¡çç½ç«ææ¶æ¹å¼æ¯LAMPï¼Linux+Apache+MySQL+PHPï¼ï¼å³ä½¿ç¨Linuxä½ä¸ºæä½ç³»ç»ï¼Apacheä½ä¸ºWebæå¡å¨ï¼MySQLä½ä¸ºæ°æ®åºï¼PHPä½ä¸ºæå¡å¨ç«¯èæ¬è§£éå¨ãç±äºè¿å个软件é½æ¯éµå¾ªGPLçå¼æ¾æºç 软件ï¼å æ¤ä½¿ç¨è¿ç§æ¹å¼ä¸ç¨è±ä¸åé±å°±å¯ä»¥å»ºç«èµ·ä¸ä¸ªç¨³å®ãå
è´¹çç½ç«ç³»ç»ã
MySQL管ç
å¯ä»¥ä½¿ç¨å½ä»¤è¡å·¥å
·ç®¡çMySQLæ°æ®åºï¼å½ä»¤mysql å mysqladmin)ï¼ä¹å¯ä»¥ä»MySQLçç½ç«ä¸è½½å¾å½¢ç®¡çå·¥å
·MySQL AdministratoråMySQL Query Browserã
phpMyAdminæ¯ç±phpåæçMySQLèµæåºç³»ç»ç®¡çç¨å¼ï¼è®©ç®¡çè
å¯ç¨Webä»é¢ç®¡çMySQLèµæåºã
phpMyBackupProä¹æ¯ç±PHPåæçï¼å¯ä»¥éè¿Webä»é¢å建å管çæ°æ®åºãå®å¯ä»¥å建伪cronjobsï¼å¯ä»¥ç¨æ¥èªå¨å¨æ个æ¶é´æå¨æå¤ä»½MySQL æ°æ®åºã
å¦å¤ï¼è¿æå
¶ä»çGUI管çå·¥å
·ï¼ä¾å¦æ©å
çmysql-front 以å ems mysql manager,navicat ççã
Mysqlåå¨å¼æ
MyISAM Mysqlçé»è®¤æ°æ®åºï¼æ为常ç¨ãæ¥æè¾é«çæå
¥ï¼æ¥è¯¢é度ï¼ä½ä¸æ¯æäºå¡
InnoDB äºå¡åæ°æ®åºçé¦éå¼æï¼æ¯æACIDäºå¡ï¼æ¯æè¡çº§éå®
BDB æºèªBerkeley DBï¼äºå¡åæ°æ®åºçå¦ä¸ç§éæ©ï¼æ¯æCOMMITåROLLBACKçå
¶ä»äºå¡ç¹æ§
Memory æææ°æ®ç½®äºå
åçåå¨å¼æï¼æ¥ææé«çæå
¥ï¼æ´æ°åæ¥è¯¢æçãä½æ¯ä¼å ç¨åæ°æ®éææ£æ¯çå
å空é´ã并ä¸å
¶å
容ä¼å¨Mysqléæ°å¯å¨æ¶ä¸¢å¤±
Merge å°ä¸å®æ°éçMyISAM表èåèæä¸ä¸ªæ´ä½ï¼å¨è¶
大è§æ¨¡æ°æ®åå¨æ¶å¾æç¨
Archive é常éååå¨å¤§éçç¬ç«çï¼ä½ä¸ºåå²è®°å½çæ°æ®ãå 为å®ä»¬ä¸ç»å¸¸è¢«è¯»åãArchiveæ¥æé«æçæå
¥é度ï¼ä½å
¶å¯¹æ¥è¯¢çæ¯æç¸å¯¹è¾å·®
Federated å°ä¸åçMysqlæå¡å¨èåèµ·æ¥ï¼é»è¾ä¸ç»æä¸ä¸ªå®æ´çæ°æ®åºãé常éååå¸å¼åºç¨
Cluster/NDB é«åä½çåå¨å¼æï¼ç¨å¤å°æ°æ®æºå¨èåæä¾æå¡ä»¥æé«æ´ä½æ§è½åå®å
¨æ§ãéåæ°æ®é大ï¼å®å
¨åæ§è½è¦æ±é«çåºç¨
CSV é»è¾ä¸ç±éå·åå²æ°æ®çåå¨å¼æ
BlackHole é»æ´å¼æï¼åå
¥çä»»ä½æ°æ®é½ä¼æ¶å¤±ï¼ä¸è¬ç¨äºè®°å½binlogåå¤å¶çä¸ç»§
å¦å¤ï¼Mysqlçåå¨å¼ææ¥å£å®ä¹è¯å¥½ãæå
´è¶£çå¼åè
éè¿é
读ææ¡£ç¼åèªå·±çåå¨å¼æã
Mysqlæ常è§çåºç¨æ¶æ
åç¹(Single)ï¼éåå°è§æ¨¡åºç¨
å¤å¶(Replication)ï¼éåä¸å°è§æ¨¡åºç¨
é群(Cluster)ï¼éå大è§æ¨¡åºç¨
mysqlåå²çæ¬
MySQLå
¬å¸ç®åå¨åæ¶å¼å两个çæ¬ç软件ï¼4.1ç以å5.0çã4.1çæ¬ç代ç å·²ç»åå¸å¹¶ææå¨8个æåå
¬å¸æç»ä»£ç ãè5.0çæ¬çæå产åå°å¨6个æååå¸ã
MySQL4.1çæ¬ä¸å¢å äºä¸å°æ°çæ§è½ï¼å
æ¬å¯¹ä¸»é®çæ´é«é度çç¼åï¼å¯¹åæ¥è¯¢çæ´å¥½çæ¯æï¼ä»¥ååºç½ç»çº¦ä¼ç½ç«æè¦æ±çï¼åºäºå°çä¿¡æ¯çæ¥è¯¢ã
èå
¶åæ¥å¼åç5.0çæ¬åæç®æ 对åäºä¼ä¸ç¨æ·ï¼å¯¹äº4.1çæ¬ä¸çæææ°ç¹æ§ï¼5.0çæ¬ææ°æ¶å
¥åä¸ï¼å¹¶ä¸ç¬å
·ä»¥ä¸ç¹ç¹ï¼å¯¹å¤é®çè¯å¥½æ¯æï¼ç³»ç»èªå¨æ¥éæºå¶ä»¥å对åå¨è¿ç¨çå
åæ¯æã
Mysqlä¸æè§é¢æå¦
å·¦å
åçmysqlç½ç»æ°æ®åºå¼åæå¦è§é¢
http://www.tudou.com/playlist/mysql/ Mysql6.0çalphaçäº2007å¹´ååå¸ï¼æ°çå¢å äºå¯¹falconåå¨å¼æçæ¯æãFalconæ¯Mysql社åºèªä¸»å¼åçå¼æï¼æ¯æACIDç¹æ§äºå¡ï¼æ¯æè¡éï¼æ¥æé«æ§è½ç并åæ§ãMysql ABå
¬å¸æ³ç¨Falconæ¿ä»£å·²ç»é常æµè¡çInnoDBå¼æï¼å 为æ¥æåè
ææ¯çInnoBaseå·²ç»è¢«ç«äºå¯¹æOracleææ¶è´ã
2008å¹´1æ16æ¥ï¼Sun Microsystems宣å¸æ¶è´MySQL ABï¼åºä»·çº¦10亿ç¾å
ç°éå
æ¬ææã
http://www.mysql.com/news-and-events/sun-to-acquire-mysql.html MySQLçåºæ¬å½ä»¤
[ ]ä¸çå
容为å¯é项
--å建æ°æ®åº
mysql> create database æ°æ®åºå称
--å建表
mysql> create table 表å (
åçååï¼idï¼ç±»åï¼intï¼4ï¼ï¼primary key(å®ä¹ä¸»é®) auto_incrementï¼æè¿° èªå¢ï¼,
â¦â¦ï¼
ï¼ï¼
--æ¥çæææ°æ®åº
mysql> show databases æ°æ®åºå称;
--使ç¨æ个æ°æ®åº
mysql> use database æ°æ®åºå称;
--æ¥çæ使ç¨æ°æ®åºä¸ææç表
mysql> show tables;
--æ¾ç¤ºè¡¨çå±æ§ç»æ
mysql> desc 表å;
--éæ©è¡¨ä¸æ°æ®çæ¾ç¤º
--* 代表éæ©ææå ï¼
mysql> select * from 表å where id=?[and name=ï¼] [or name=?];
mysql> select id,name from 表åorder by æä¸åçå称 desc(éåºï¼asc为ååº)
--å é¤è¡¨ä¸çæ°æ®
mysql> delete from table where id=ï¼[or name=? (and name=?)];
--å é¤è¡¨
mysql> drop table;
--å é¤æ°æ®åº
mysql> drop database;
ç´¢å¼æ¯ä¸ç§ç¹æ®çæ件(InnoDBæ°æ®è¡¨ä¸çç´¢å¼æ¯è¡¨ç©ºé´çä¸ä¸ªç»æé¨å)ï¼å®ä»¬å
å«ç对æ°æ®è¡¨éææè®°å½çå¼ç¨æéã
注ï¼[1]ç´¢å¼ä¸æ¯ä¸è½çï¼ç´¢å¼å¯ä»¥å å¿«æ°æ®æ£ç´¢æä½ï¼ä½ä¼ä½¿æ°æ®ä¿®æ¹æä½åæ
¢ãæ¯ä¿®æ¹æ°æ®è®°å½ï¼ç´¢å¼å°±å¿
é¡»å·æ°ä¸æ¬¡ã为äºå¨æç§ç¨åºä¸å¼¥è¡¥è¿ä¸ç¼ºé·ï¼è®¸å¤SQLå½ä»¤é½æä¸ä¸ªDELAY_KEY_WRITE项ãè¿ä¸ªé项çä½ç¨æ¯ææ¶å¶æ¢ MySQLå¨è¯¥å½ä»¤æ¯æå
¥ä¸æ¡æ°è®°å½åæ¯ä¿®æ¹ä¸æ¡ç°æä¹åç«å»å¯¹ç´¢å¼è¿è¡å·æ°ï¼å¯¹ç´¢å¼çå·æ°å°çå°å
¨é¨è®°å½æå
¥/ä¿®æ¹å®æ¯ä¹ååè¿è¡ãå¨éè¦æ许å¤æ°è®°å½æå
¥æ个æ°æ®è¡¨çåºåï¼DELAY_KEY_WRITEé项çä½ç¨å°é常ææ¾ã[2]å¦å¤ï¼ç´¢å¼è¿ä¼å¨ç¡¬çä¸å ç¨ç¸å½å¤§ç空é´ãå æ¤åºè¯¥åªä¸ºæç»å¸¸æ¥è¯¢åæç»å¸¸æåºçæ°æ®å建ç«ç´¢å¼ã注æï¼å¦ææ个æ°æ®åå
å«è®¸å¤éå¤çå
容ï¼ä¸ºå®å»ºç«ç´¢å¼å°±æ²¡æ太大çå®é
ææã
ä»ç论ä¸è®²ï¼å®å
¨å¯ä»¥ä¸ºæ°æ®è¡¨éçæ¯ä¸ªå段åå«å»ºä¸ä¸ªç´¢å¼ï¼ä½MySQLæåä¸ä¸ªæ°æ®è¡¨éçç´¢å¼æ»æ°éå¶ä¸º16个ã
1. InnoDBæ°æ®è¡¨çç´¢å¼
ä¸MyISAMæ°æ®è¡¨ç¸æ¯ï¼ç´¢å¼å¯¹InnoDBæ°æ®çéè¦æ§è¦å¤§å¾å¤ãå¨ InnoDBæ°æ®è¡¨ä¸ï¼ç´¢å¼å¯¹InnoDBæ°æ®è¡¨çéè¦æ§è¦å¨å¾å¤ãå¨InnoDBæ°æ®è¡¨ä¸ï¼ç´¢å¼ä¸ä»
ä¼å¨æç´¢æ°æ®è®°å½æ¶åæ¥ä½ç¨ï¼è¿æ¯æ°æ®è¡çº§éå®æºå¶çèãåºç¡ã"æ°æ®è¡çº§éå®"çæææ¯æå¨äºå¡æä½çæ§è¡è¿ç¨ä¸éå®æ£å¨è¢«å¤çç个å«è®°å½ï¼ä¸è®©å
¶ä»ç¨æ·è¿è¡è®¿é®ãè¿ç§éå®å°å½±åå°(ä½ä¸éäº)SELECT...LOCK IN SHARE MODEãSELECT...FOR UPDATEå½ä»¤ä»¥åINSERTãUPDATEåDELETEå½ä»¤ã
åºäºæçæ¹é¢çèèï¼InnoDBæ°æ®è¡¨çæ°æ®è¡çº§éå®å®é
åçå¨å®ä»¬çç´¢å¼ä¸ï¼èä¸æ¯æ°æ®è¡¨èªèº«ä¸ãæ¾ç¶ï¼æ°æ®è¡çº§éå®æºå¶åªæå¨æå
³çæ°æ®è¡¨æä¸ä¸ªåéçç´¢å¼å¯ä¾éå®çæ¶åæè½åæ¥æåã
2. éå¶
å¦æWEHEREåå¥çæ¥è¯¢æ¡ä»¶éæä¸çå·(WHERE coloum != ...)ï¼MySQLå°æ æ³ä½¿ç¨ç´¢å¼ã
类似å°ï¼å¦æWHEREåå¥çæ¥è¯¢æ¡ä»¶é使ç¨äºå½æ°(WHERE DAY(column) = ...)ï¼MySQLä¹å°æ æ³ä½¿ç¨ç´¢å¼ã
å¨JOINæä½ä¸(éè¦ä»å¤ä¸ªæ°æ®è¡¨æåæ°æ®æ¶)ï¼MySQLåªæå¨ä¸»é®åå¤é®çæ°æ®ç±»åç¸åæ¶æè½ä½¿ç¨ç´¢å¼ã
å¦æWHEREåå¥çæ¥è¯¢æ¡ä»¶é使ç¨æ¯è¾æä½ç¬¦LIKEåREGEXPï¼MySQL åªæå¨æ索模æ¿ç第ä¸ä¸ªå符ä¸æ¯éé
符çæ
åµä¸æè½ä½¿ç¨ç´¢å¼ãæ¯å¦è¯´ï¼å¦ææ¥è¯¢æ¡ä»¶æ¯LIKE 'abc%'ï¼MySQLå°ä½¿ç¨ç´¢å¼ï¼å¦ææ¥è¯¢æ¡ä»¶æ¯LIKE '%abc'ï¼MySQLå°ä¸ä½¿ç¨ç´¢å¼ã
å¨ORDER BYæä½ä¸ï¼MySQLåªæå¨æåºæ¡ä»¶ä¸æ¯ä¸ä¸ªæ¥è¯¢æ¡ä»¶è¡¨è¾¾å¼çæ
åµä¸æ使ç¨ç´¢å¼ã(è½ç¶å¦æ¤ï¼å¨æ¶åå¤ä¸ªæ°æ®è¡¨æ¥è¯¢éï¼å³ä½¿æç´¢å¼å¯ç¨ï¼é£äºç´¢å¼å¨å å¿«ORDER BYæ¹é¢ä¹æ²¡ä»ä¹ä½ç¨)
å¦ææ个æ°æ®åéå
å«è®¸å¤éå¤çå¼ï¼å°±ç®ä¸ºå®å»ºç«äºç´¢å¼ä¹ä¸ä¼æå¾å¥½çææãæ¯å¦è¯´ï¼å¦ææ个æ°æ®åéå
å«çåæ¯äºè¯¸å¦"0/1"æ"Y/N"çå¼ï¼å°±æ²¡æå¿
è¦ä¸ºå®å建ä¸ä¸ªç´¢å¼ã
æ®éç´¢å¼ãå¯ä¸ç´¢å¼å主索å¼
1. æ®éç´¢å¼
æ®éç´¢å¼(ç±å
³é®åKEYæINDEXå®ä¹çç´¢å¼)çå¯ä¸ä»»å¡æ¯å 快对æ°æ®ç访é®é度ãå æ¤ï¼åºè¯¥åªä¸ºé£äºæç»å¸¸åºç°å¨æ¥è¯¢æ¡ä»¶(WHERE column = ...)ææåºæ¡ä»¶(ORDER BY column)ä¸çæ°æ®åå建索å¼ãåªè¦æå¯è½ï¼å°±åºè¯¥éæ©ä¸ä¸ªæ°æ®ææ´é½ãæç´§åçæ°æ®å(å¦ä¸ä¸ªæ´æ°ç±»åçæ°æ®å)æ¥å建索å¼ã
2. å¯ä¸ç´¢å¼
æ®éç´¢å¼å
许被索å¼çæ°æ®åå
å«éå¤çå¼ãæ¯å¦è¯´ï¼å 为人æå¯è½ååï¼æ以åä¸ä¸ªå§åå¨åä¸ä¸ª"å工个人èµæ"æ°æ®è¡¨éå¯è½åºç°ä¸¤æ¬¡ææ´å¤æ¬¡ã
å¦æè½ç¡®å®æ个æ°æ®åå°åªå
å«å½¼æ¤åä¸ç¸åçå¼ï¼å¨ä¸ºè¿ä¸ªæ°æ®åå建索å¼çæ¶åå°±åºè¯¥ç¨å
³é®åUNIQUEæå®å®ä¹ä¸ºä¸ä¸ªå¯ä¸ç´¢å¼ãè¿ä¹åç好å¤ï¼ä¸æ¯ç®åäºMySQL对è¿ä¸ªç´¢å¼ç管çå·¥ä½ï¼è¿ä¸ªç´¢å¼ä¹å æ¤èåå¾æ´ææçï¼äºæ¯ MySQLä¼å¨ææ°è®°å½æå
¥æ°æ®è¡¨æ¶ï¼èªå¨æ£æ¥æ°è®°å½çè¿ä¸ªå段çå¼æ¯å¦å·²ç»å¨æ个记å½çè¿ä¸ªå段éåºç°è¿äºï¼å¦ææ¯ï¼MySQLå°æç»æå
¥é£æ¡æ°è®°å½ãä¹å°±æ¯è¯´ï¼å¯ä¸ç´¢å¼å¯ä»¥ä¿è¯æ°æ®è®°å½çå¯ä¸æ§ãäºå®ä¸ï¼å¨è®¸å¤åºåï¼äººä»¬å建å¯ä¸ç´¢å¼çç®çå¾å¾ä¸æ¯ä¸ºäºæé«è®¿é®é度ï¼èåªæ¯ä¸ºäºé¿å
æ°æ®åºç°éå¤ã
3. 主索å¼
å¨åé¢å·²ç»åå¤å¤æ¬¡å¼ºè°è¿ï¼å¿
须为主é®å段å建ä¸ä¸ªç´¢å¼ï¼è¿ä¸ªç´¢å¼å°±æ¯æè°ç"主索å¼"ã主索å¼ä¸å¯ä¸ç´¢å¼çå¯ä¸åºå«æ¯ï¼åè
å¨å®ä¹æ¶ä½¿ç¨çå
³é®åæ¯PRIMARYèä¸æ¯UNIQUEã
4. å¤é®ç´¢å¼
å¦æ为æ个å¤é®å段å®ä¹äºä¸ä¸ªå¤é®çº¦ææ¡ä»¶ï¼MySQLå°±ä¼å®ä¹ä¸ä¸ªå
é¨ç´¢å¼æ¥å¸®å©èªå·±ä»¥æææççæ¹å¼å»ç®¡çå使ç¨å¤é®çº¦ææ¡ä»¶ã
5. å¤åç´¢å¼
ç´¢å¼å¯ä»¥è¦çå¤ä¸ªæ°æ®åï¼å¦åINDEX(columnA, columnB)ç´¢å¼ãè¿ç§ç´¢å¼çç¹ç¹æ¯MySQLå¯ä»¥æéæ©å°ä½¿ç¨ä¸ä¸ªè¿æ ·çç´¢å¼ãå¦ææ¥è¯¢æä½åªéè¦ç¨å°columnAæ°æ®åä¸çä¸ä¸ªç´¢å¼ï¼å°±å¯ä»¥ä½¿ç¨å¤åç´¢å¼INDEX(columnA, columnB)ãä¸è¿ï¼è¿ç§ç¨æ³ä»
éç¨äºå¨å¤åç´¢å¼ä¸æåå¨åçæ°æ®åç»åãæ¯å¦è¯´ï¼INDEX(A, B, C)å¯ä»¥å½åAæ(A, B)çç´¢å¼æ¥ä½¿ç¨ï¼ä½ä¸è½å½åBãCæ(B, C)çç´¢å¼æ¥ä½¿ç¨ã
6. ç´¢å¼çé¿åº¦
å¨ä¸ºCHARåVARCHARç±»åçæ°æ®åå®ä¹ç´¢å¼æ¶ï¼å¯ä»¥æç´¢å¼çé¿åº¦éå¶ä¸ºä¸ä¸ªç»å®çå符个æ°(è¿ä¸ªæ°åå¿
é¡»å°äºè¿ä¸ªå段æå
许çæ大å符个æ°)ãè¿ä¹åç好å¤æ¯å¯ä»¥çæä¸ä¸ªå°ºå¯¸æ¯è¾å°ãæ£ç´¢é度å´æ¯è¾å¿«çç´¢å¼æ件ãå¨ç»å¤§å¤æ°åºç¨éï¼æ°æ®åºä¸çå符串æ°æ®å¤§é½ä»¥åç§åæ ·çåå为主ï¼æç´¢å¼çé¿åº¦è®¾ç½®ä¸º10~15个å符已ç»è¶³ä»¥ææç´¢èå´ç¼©å°å°å¾å°çå æ¡æ°æ®è®°å½äºã
å¨ä¸ºBLOBåTEXTç±»åçæ°æ®åå建索å¼æ¶ï¼å¿
须对索å¼çé¿åº¦ååºéå¶ï¼MySQLæå
许çæ大索å¼jlkjljkjljå
¨æç´¢å¼
ææ¬å段ä¸çæ®éç´¢å¼åªè½å 快对åºç°å¨å段å
容æåé¢çå符串(ä¹å°±æ¯å段å
容å¼å¤´çå符)è¿è¡æ£ç´¢æä½ãå¦æå段éåæ¾çæ¯ç±å 个ãçè³æ¯å¤ä¸ªåè¯ææçè¾å¤§æ®µæåï¼æ®éç´¢å¼å°±æ²¡ä»ä¹ä½ç¨äºãè¿ç§æ£ç´¢å¾å¾ä»¥LIKE %word%çå½¢å¼åºç°ï¼è¿å¯¹MySQLæ¥è¯´å¾å¤æï¼å¦æéè¦å¤ççæ°æ®éå¾å¤§ï¼ååºæ¶é´å°±ä¼å¾é¿ã
è¿ç±»åºåæ£æ¯å
¨æç´¢å¼(full-text index)å¯ä»¥å¤§æ¾èº«æçå°æ¹ãå¨çæè¿ç§ç±»åçç´¢å¼æ¶ï¼MySQLå°æå¨ææ¬ä¸åºç°çææåè¯å建为ä¸ä»½æ¸
åï¼æ¥è¯¢æä½å°æ ¹æ®è¿ä»½æ¸
åå»æ£ç´¢æå
³çæ°æ®è®°å½ãå
¨æç´¢å¼å³å¯ä»¥éæ°æ®è¡¨ä¸åå建ï¼ä¹å¯ä»¥çæ¥åæå¿
è¦æ¶å使ç¨ä¸é¢è¿æ¡å½ä»¤æ·»å ï¼
ALTER TABLE tablename ADD FULLTEXT(column1, column2)
æäºå
¨æç´¢å¼ï¼å°±å¯ä»¥ç¨SELECTæ¥è¯¢å½ä»¤å»æ£ç´¢é£äºå
å«çä¸ä¸ªæå¤ä¸ªç»å®åè¯çæ°æ®è®°å½äºãä¸é¢æ¯è¿ç±»æ¥è¯¢å½ä»¤çåºæ¬è¯æ³ï¼
SELECT * FROM tablename
WHERE MATCH(column1, column2) AGAINST('word1', 'word2', 'word3')
ä¸é¢è¿æ¡å½ä»¤å°æcolumn1åcolumn2å段éæword1ãword2åword3çæ°æ®è®°å½å
¨é¨æ¥è¯¢åºæ¥ã
注解ï¼InnoDBæ°æ®è¡¨ä¸æ¯æå
¨æç´¢å¼ã
æ¥è¯¢åç´¢å¼çä¼å
åªæå½æ°æ®åºéå·²ç»æäºè¶³å¤å¤çæµè¯æ°æ®æ¶ï¼å®çæ§è½æµè¯ç»æææå®é
åèä»·å¼ãå¦æå¨æµè¯æ°æ®åºéåªæå ç¾æ¡æ°æ®è®°å½ï¼å®ä»¬å¾å¾å¨æ§è¡å®ç¬¬ä¸æ¡æ¥è¯¢å½ä»¤ä¹å就被å
¨é¨å è½½å°å
åéï¼è¿å°ä½¿åç»çæ¥è¯¢å½ä»¤é½æ§è¡å¾é常快--ä¸ç®¡æ没æ使ç¨ç´¢å¼ãåªæå½æ°æ®åºéçè®°å½è¶
è¿äº1000æ¡ãæ°æ®æ»éä¹è¶
è¿äºMySQLæå¡å¨ä¸çå
åæ»éæ¶ï¼æ°æ®åºçæ§è½æµè¯ç»ææææä¹ã
å¨ä¸ç¡®å®åºè¯¥å¨åªäºæ°æ®åä¸å建索å¼çæ¶åï¼äººä»¬ä»EXPLAIN SELECTå½ä»¤é£éå¾å¾å¯ä»¥è·å¾ä¸äºå¸®å©ãè¿å
¶å®åªæ¯ç®åå°ç»ä¸æ¡æ®éçSELECTå½ä»¤å ä¸ä¸ªEXPLAINå
³é®åä½ä¸ºåç¼èå·²ãæäºè¿ä¸ªå
³é®åï¼MySQLå°ä¸æ¯å»æ§è¡é£æ¡SELECTå½ä»¤ï¼èæ¯å»å¯¹å®è¿è¡åæãMySQLå°ä»¥è¡¨æ ¼çå½¢å¼ææ¥è¯¢çæ§è¡è¿ç¨åç¨å°çç´¢å¼(å¦ææçè¯)çä¿¡æ¯ååºæ¥ã
å¨EXPLAINå½ä»¤çè¾åºç»æéï¼ç¬¬1åæ¯ä»æ°æ®åºè¯»åçæ°æ®è¡¨çååï¼å®ä»¬æ被读åçå
å顺åºæåãtypeåæå®äºæ¬æ°æ®è¡¨ä¸å
¶å®æ°æ®è¡¨ä¹é´çå
³èå
³ç³»(JOIN)ãå¨åç§ç±»åçå
³èå
³ç³»å½ä¸ï¼æçæé«çæ¯systemï¼ç¶åä¾æ¬¡æ¯constãeq_refãrefãrangeãindexåAll(Allçæææ¯ï¼å¯¹åºäºä¸ä¸çº§æ°æ®è¡¨éçæ¯ä¸æ¡è®°å½ï¼è¿ä¸ªæ°æ®è¡¨éçææè®°å½é½å¿
须被读åä¸é--è¿ç§æ
åµå¾å¾å¯ä»¥ç¨ä¸ç´¢å¼æ¥é¿å
)ã
possible_keysæ°æ®åç»åºäºMySQLå¨æç´¢æ°æ®è®°å½æ¶å¯éç¨çå个索å¼ãkeyæ°æ®åæ¯MySQLå®é
éç¨çç´¢å¼ï¼è¿ä¸ªç´¢å¼æåè计ç®çé¿åº¦å¨key_lenæ°æ®åéç»åºãæ¯å¦è¯´ï¼å¯¹äºä¸ä¸ªINTEGERæ°æ®åçç´¢å¼ï¼è¿ä¸ªåèé¿åº¦å°æ¯4ãå¦æç¨å°äºå¤åç´¢å¼ï¼å¨key_lenæ°æ®åéè¿å¯ä»¥çå°MySQLå
·ä½ä½¿ç¨äºå®çåªäºé¨åãä½ä¸ºä¸è¬è§å¾ï¼key_lenæ°æ®åéçå¼è¶å°è¶å¥½(æææ¯æ´å¿«)ã
refæ°æ®åç»åºäºå
³èå
³ç³»ä¸å¦ä¸ä¸ªæ°æ®è¡¨éçæ°æ®åçååãrowæ°æ®åæ¯MySQLå¨æ§è¡è¿ä¸ªæ¥è¯¢æ¶é¢è®¡ä¼ä»è¿ä¸ªæ°æ®è¡¨é读åºçæ°æ®è¡ç个æ°ãrowæ°æ®åéçæææ°åçä¹ç§¯å¯ä»¥è®©æ们大è´äºè§£è¿ä¸ªæ¥è¯¢éè¦å¤çå¤å°ç»åã
æåï¼extraæ°æ®åæä¾äºä¸JOINæä½æå
³çæ´å¤ä¿¡æ¯ï¼æ¯å¦è¯´ï¼å¦æMySQLå¨æ§è¡è¿ä¸ªæ¥è¯¢æ¶å¿
é¡»å建ä¸ä¸ªä¸´æ¶æ°æ®è¡¨ï¼å°±ä¼å¨extraåçå°using temporaryåæ ·