# MySQL ç´¢å¼åç ç°å¨äºèç½åºç¨ä¸å¯¹æ°æ®åºç使ç¨å¤æ°é½æ¯è¯»è¾å¤ï¼æ¯ä¾å¯ä»¥è¾¾å° `10:1`ã并䏿°æ®åºå¨åæ¥è¯¢æ¶ `IO` æ¶èè¾å¤§ï¼æä»¥å¦æè½æä¸æ¬¡æ¥è¯¢ç `IO` æ¬¡æ°æ§å¶å¨å¸¸é级é£å¯¹æ°æ®åºçæ§è½æåå°æ¯éå¸¸ææ¾çï¼å æ¤åºäº `B+ Tree` çç´¢å¼ç»æåºç°äºã ## B+ Tree çæ°æ®ç»æ  å¦å¾æç¤ºæ¯ `B+ Tree` çæ°æ®ç»æãæ¯ç±ä¸ä¸ªä¸ä¸ªçç£çåç»æçæ å½¢ç»æï¼æ¯ä¸ªç£çåç±æ°æ®é¡¹åæéç»æã > ææçæ°æ®é½æ¯åæ¾å¨å¶åèç¹ï¼éå¶åèç¹ä¸åæ¾æ°æ®ã ## æ¥æ¾è¿ç¨ 以ç£çå1为ä¾ï¼æé P1 表示å°äº17çç£çåï¼P2 è¡¨ç¤ºå¨ `17~35` ä¹é´çç£çåï¼P3 å表示大äº35çç£çåã æ¯å¦è¦æ¥æ¾æ°æ®é¡¹99ï¼é¦å å°ç£çå1 load å°å åä¸ï¼åç 1 次 `IO`ãæ¥çéè¿äºåæ¥æ¾åç° 99 å¤§äº 35ï¼æä»¥æ¾å°äº P3 æéãéè¿P3 æéåçç¬¬äºæ¬¡ IO å°ç£çå4å è½½å°å åãåéè¿äºåæ¥æ¾åç°å¤§äº87ï¼éè¿ P3 æéåçäºç¬¬ä¸æ¬¡ IO å°ç£çå11 å è½½å°å åãæååéè¿ä¸æ¬¡äºåæ¥æ¾æ¾å°äºæ°æ®é¡¹99ã ç±æ¤å¯è§ï¼å¦æä¸ä¸ªå ç¾ä¸çæ°æ®æ¥è¯¢åªéè¦è¿è¡ä¸æ¬¡ IO å³å¯æ¾å°æ°æ®ï¼é£ä¹æ´ä¸ªæçå°æ¯é常é«çã è§å¯æ çç»æï¼åç°æ¥è¯¢éè¦ç»åå æ¬¡ IO æ¯ç±æ çé«åº¦æ¥å³å®çï¼èæ çé«åº¦åç±ç£çåï¼æ°æ®é¡¹ç大å°å³å®çã ç£çåè¶å¤§ï¼æ°æ®é¡¹è¶å°é£ä¹æ°çé«åº¦å°±è¶ä½ãè¿ä¹å°±æ¯ä¸ºä»ä¹ç´¢å¼å段è¦å°½å¯è½å°çåå ã > ç´¢å¼ä½¿ç¨çä¸äº[åå](https://github.com/crossoverJie/Java-Interview/blob/master/MD/SQL-optimization.md)ã