**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* - [MySQLæ°æ®åºå¼åè§è](#mysql%E6%95%B0%E6%8D%AE%E5%BA%93%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83) ## MySQLæ°æ®åºå¼åè§è 1. ææçæ°æ®åºå¯¹è±¡åç§°å¿ é¡»ä½¿ç¨å°å忝并ç¨ä¸å线åå²ï¼MySQL大尿æï¼è§åç¥æï¼æå¥½ä¸è¶ è¿32åç¬¦ï¼ 2. ææçæ°æ®åºå¯¹è±¡åç§°ç¦æ¢ä½¿ç¨MySQLä¿çå ³é®åï¼å¦ descãrangeãmatchãdelayed çï¼è¯·åè MySQL 宿¹ä¿çåhttp://dev.mysql.com/doc/refman/5.7/en/keywords.htmlï¼ 3. 临æ¶åºè¡¨å¿ 须以tmp为åç¼å¹¶ä»¥æ¥æä¸ºåç¼ï¼tmp_ï¼ 4. å¤ä»½åºååºï¼å¿ 须以bak为åç¼ï¼æ¥æä¸ºåç¼(bak_) 5. ææåå¨ç¸åæ°æ®çååååç±»åå¿ é¡»ä¸è´ãï¼å¨å¤ä¸ªè¡¨ä¸çåæ®µå¦user_idï¼ 6. mysql5.5ä¹åé»è®¤çåå¨ç弿æ¯myisamï¼æ²¡æç¹æ®è¦æ±ï¼ææçè¡¨å¿ é¡»ä½¿ç¨innodbï¼æ¯æå¤±è¯¯ï¼è¡çº§éï¼é«å¹¶å䏿§è½æ´å¥½ï¼å¯¹å¤æ ¸ï¼å¤§å åï¼ssdçç¡¬ä»¶æ¯ææ´å¥½ï¼ 7. æ°æ®åºå表çå符éç»ä¸ä½¿ç¨utf8ãè¦ç»ä¸ï¼é¿å ç±äºå符é转æ¢äº§ççä¹±ç ããæ±åutf8䏿3个åè 8. ææè¡¨ååæ®µé½è¦æ·»å 注éCOMMENTï¼ä»ä¸å¼å§å°±è¿è¡æ°æ®åå ¸çç»´æ¤ 9. 尽鿧å¶åè¡¨æ°æ®éç大å°å¨500w以å ï¼è¶ è¿500wå¯ä»¥ä½¿ç¨å岿°æ®å½æ¡£ï¼ååºå表æ¥å®ç°ï¼500ä¸è¡å¹¶ä¸æ¯MySQLæ°æ®åºçéå¶ãè¿å¤§å¯¹äºä¿®æ¹è¡¨ç»æï¼å¤ä»½ï¼æ¢å¤é½ä¼æå¾å¤§é®é¢ãMySQL没æå¯¹å卿éå¶ï¼åå³äºåå¨è®¾ç½®åæä»¶ç³»ç»ï¼ã 10. è°¨æ 使ç¨mysqlååºè¡¨ï¼ååºè¡¨å¨ç©çä¸è¡¨ç°ä¸ºå¤ä¸ªæä»¶ï¼å¨é»è¾ä¸è¡¨ç°ä¸ºä¸ä¸ªè¡¨ï¼ã 11. è°¨æ éæ©ååºé®ï¼è·¨ååºæ¥è¯¢æçå¯è½æ´ä½ 12. 建议使ç¨ç©çåè¡¨çæ¹å¼ç®¡çå¤§æ°æ® 13. å°½éåå°å·çæ°æ®å离ï¼åå°è¡¨ç宽度ï¼mysqléå¶æå¤åå¨4096åï¼è¡æ°æ²¡æéå¶ï¼ä½æ¯æ¯ä¸è¡çåèæ»æ°ä¸è½è¶ è¿65535ï¼ãåéå¶å¥½å¤ï¼åå°ç£çioï¼ä¿è¯çæ°æ®çå åç¼åå½ä¸çï¼é¿å è¯»å ¥æ ç¨çå·æ°æ®ã 14. ç¦æ¢å¨è¡¨ä¸å»ºç«é¢çåæ®µï¼æ æ³ç¡®è®¤åå¨çæ°æ®ç±»åï¼å¯¹é¢çåæ®µç±»åè¿è¡ä¿®æ¹ï¼ä¼å¯¹è¡¨è¿è¡éå®ï¼ 15. ç¦æ¢å¨æ°æ®ä¸åå¨å¾çï¼æä»¶äºè¿å¶æ°æ®ï¼ä½¿ç¨æä»¶æå¡å¨ï¼ 16. ç¦æ¢å¨çº¿ä¸åæ°æ®åºååæµè¯ 17. ç¦æ¢ä»å¼åç¯å¢ï¼æµè¯ç¯å¢ç´æ¥è¿ç产ç¯å¢æ°æ®åº 18. éå¶æ¯å¼ 表ä¸çç´¢å¼æ°éï¼å»ºè®®å表索å¼ä¸è¶ è¿5个ï¼ç´¢å¼ä¼å¢å æ¥è¯¢æçï¼ä½æ¯ä¼éä½æå ¥åæ´æ°çéåº¦ï¼ 19. é¿å 建ç«åä½ç´¢å¼åéå¤ç´¢å¼ï¼åä½ï¼indexï¼a,b,c) index(a,b) index(a)ï¼ 20. ç¦æ¢ç»è¡¨ä¸çæ¯ä¸åé½å»ºç«åç¬çç´¢å¼ 21. æ¯ä¸ªinnodbè¡¨å¿ é¡»æä¸ä¸ªä¸»é®ï¼éæ©èªå¢idï¼ä¸è½ä½¿ç¨æ´æ°é¢ç¹çåä½ä¸ºä¸»é®ï¼ä¸éç¨UUID,MD5,HASH,å符串åä½ä¸ºä¸»é®ï¼ï¼ 22. åºå度æé«çåæ¾å¨èåç´¢å¼çæå·¦ä¾§ 23. å°½éæå段é¿åº¦å°çåæ¾å¨èåç´¢å¼çæå·¦ä¾§ 24. å°½éé¿å 使ç¨å¤é®ï¼ç¦æ¢ä½¿ç¨ç©çå¤é®ï¼ä½¿ç¨é»è¾å¤é®ï¼ 25. ä¼å éæ©ç¬¦ååå¨éè¦çæå°æ°æ®ç±»å 26. ä¼å ä½¿ç¨æ 符å·çæ´å½¢æ¥åå¨ 27. ä¼å éæ©å卿å°çæ°æ®ç±»åï¼varchar(N),Nä»£è¡¨çæ¯å符æ°ï¼è䏿¯åèæ°ï¼N代表è½åå¨å¤å°ä¸ªæ±åï¼ 28. é¿å 使ç¨Textææ¯Blobç±»å 29. é¿å 使ç¨ENUMæ°æ®ç±»åï¼ä¿®æ¹ENUMå¼éè¦ä½¿ç¨ALTERè¯å¥ï¼ENUMç±»åçORDER BYæä½æçä½ï¼éè¦é¢å¤æä½ï¼ç¦æ¢ä½¿ç¨ä¹¦å¼ä½ä¸ºENUMçæä¸¾å¼ 30. 尽鿿æçåæ®µå®ä¹ä¸ºNOT NULLï¼ç´¢å¼NULLéè¦é¢å¤çç©ºé´æ¥ä¿åï¼æä»¥éè¦æç¨æ´å¤çå åï¼è¿è¡æ¯è¾å计ç®è¦å¯¹NULLå¼åç¹å«çå¤çï¼ 31. 使ç¨timestampædatetimeç±»åæ¥å卿¶é´ 32. åè´¢å¡ç¸å ³çé颿°æ®ï¼éç¨decimalç±»åï¼ä¸ä¸¢å¤±ç²¾åº¦ï¼ç¦æ¢ä½¿ç¨ float å doubleï¼ 33. é¿å 使ç¨å%å·ålikeï¼æç´¢ä¸¥ç¦å·¦æ¨¡ç³æè å ¨æ¨¡ç³ï¼å¦æéè¦è¯·èµ°æç´¢å¼ææ¥è§£å³ãç´¢å¼æä»¶å ·æ B-Tree çæå·¦åç¼å¹é ç¹æ§ï¼å¦æå·¦è¾¹ç弿ªç¡®å®ï¼é£ä¹æ æ³ä½¿ç¨æ¤ç´¢ï¼ 34. 建议使ç¨é¢ç¼è¯è¯å¥è¿è¡æ°æ®åºæä½ 35. ç¦æ¢è·¨åºæ¥è¯¢ï¼ä¸ºæ°æ®è¿ç§»åååºå表çåºä½å°ï¼éä½è¦å度ï¼éä½é£é©ï¼ 36. ç¦æ¢select * æ¥è¯¢ï¼æ¶èæ´å¤çcpuåioåç½ç»å¸¦å®½èµæºï¼æ æ³ä½¿ç¨è¦çç´¢å¼ï¼ 37. ç¦æ¢ä½¿ç¨ä¸å«å段å表çinsertè¯å¥ï¼ä¸å 许insert into t valuesï¼âaâï¼âbâï¼âcâï¼ä¸å è®¸ï¼ 38. in æä½è½é¿å åé¿å ï¼è¥å®å¨é¿å ä¸äºï¼éè¦ä»ç»è¯ä¼° in åè¾¹çéåå ç´ æ°éï¼æ§å¶å¨ 1000 个ä¹å 39. ç¦æ¢ä½¿ç¨order by randï¼ï¼è¿è¡éæºæåº 40. ç¦æ¢whereä»å¥ä¸å¯¹åè¿è¡å½æ°è½¬æ¢å计ç®ï¼ä¾å¦ï¼where dateï¼createtimeï¼=â20160901â 伿 æ³ä½¿ç¨createtimeåä¸ç´¢å¼ãæ¹æ where createtime>='20160901' and createtime <'20160902'ï¼ 41. å°½éä½¿ç¨ union all ä»£æ¿ union 42. æå夿ç大SQL为å¤ä¸ªå°SQLï¼ MySQLä¸ä¸ªSQLåªè½ä½¿ç¨ä¸ä¸ªCPUè¿è¡è®¡ç®ï¼ 43. å°½éé¿å 使ç¨åæ¥è¯¢ï¼å¯ä»¥æåæ¥è¯¢ä¼å为joinæä½ï¼åæ¥è¯¢çç»æéæ æ³ä½¿ç¨ç´¢å¼ï¼åæ¥è¯¢ä¼äº§ç临æ¶è¡¨æä½ï¼å¦æåæ¥è¯¢æ°æ®é大ä¼å½±åæçï¼æ¶èè¿å¤çCPUåIOèµæºï¼ 44. è¶ è¿100ä¸è¡çæ¹éåæä½ï¼è¦åæ¹å¤æ¬¡è¿è¡æä½ï¼å¤§æ¹éæä½å¯è½ä¼é æä¸¥éç主ä»å»¶è¿ï¼binlogæ¥å¿ä¸ºrowæ ¼å¼ä¼äº§ç大éçæ¥å¿ï¼é¿å 产ç大äºå¡æä½ï¼ 45. 对äºå¤§è¡¨ä½¿ç¨ptâonline-schema-changeä¿®æ¹è¡¨ç»æï¼é¿å 大表修æ¹äº§çç主ä»å»¶è¿ï¼é¿å å¨å¯¹è¡¨å段è¿è¡ä¿®æ¹æ¶è¿è¡éè¡¨ï¼ 46. 对äºç¨åºè¿æ¥æ°æ®åºè´¦å·ï¼éµå¾ªæéæå°åå 47. è¶ è¿ä¸ä¸ªè¡¨ç¦æ¢ joinãï¼éè¦ join çåæ®µï¼æ°æ®ç±»åå¿ é¡»ç»å¯¹ä¸è´ï¼å¤è¡¨å ³èæ¥è¯¢æ¶ï¼ä¿è¯è¢«å ³èçåæ®µéè¦æç´¢å¼ãå³ä½¿å表 join ä¹è¦æ³¨æè¡¨ç´¢å¼ãSQL æ§è½ãï¼ 48. å¨varcharåæ®µä¸å»ºç«ç´¢å¼æ¶ï¼å¿ é¡»æå®ç´¢å¼é¿åº¦ï¼æ²¡å¿ è¦å¯¹å ¨å段建ç«ç´¢å¼ï¼æ ¹æ®å®é ææ¬åºå度å³å®ç´¢å¼é¿åº¦å³å¯ã 49. SQL æ§è½ä¼åçç®æ ï¼è³å°è¦è¾¾å° range 级å«ï¼è¦æ±æ¯ ref 级å«ï¼å¦æå¯ä»¥æ¯ constsæå¥½ã 50. ä½¿ç¨ ISNULL()æ¥å¤ææ¯å¦ä¸º NULL å¼ã 51. ç¦æ¢ç©çå é¤ï¼å³ç´æ¥å é¤ï¼ï¼åªåé»è¾å é¤ï¼ç¨deleteFlagåé»è¾å é¤ï¼å¦æå é¤ï¼å为1ï¼ä¸å é¤å为0 52. 妿æ order by çåºæ¯ï¼è¯·æ³¨æå©ç¨ç´¢å¼çæåºæ§ãorder by æåçåæ®µæ¯ç»å,ç´¢å¼çä¸é¨åï¼å¹¶ä¸æ¾å¨ç´¢å¼ç»å顺åºçæåï¼é¿å åºç° file_sort çæ åµï¼å½±åæ¥è¯¢æ§è½ã 53. å¨ä»£ç ä¸åå页æ¥è¯¢é»è¾æ¶ï¼è¥ count 为 0 åºç´æ¥è¿åï¼é¿å æ§è¡åé¢çå页è¯å¥ã