其他优化

Innodb_buffer_pool_size

1,Innodb_buffer_pool_size:innodb的缓存,可以用于缓存索引,同时还会缓存实际的数据;

 innodb_buffer_pool_size 参数用来设置Innodb 最主要的Buffer(Innodb_Buffer_Pool)的大小,对Innodb 整体性能影响也最大,可以按需要设置大一些;

继续阅读→

SQL优化

JOIN的优化

1,JOIN的原理:
在mysql中使用Nested Loop Join来实现join;
A JOIN B:通过A表的结果集作为循环基础,一条一条的通过结果集中的数据作为过滤条件到下一个表中查询数据,然后合并结果;
2,JOIN的优化原则:
1,尽可能减少Join 语句中的Nested Loop 的循环总次数,用小结果集驱动大结果集;
2,优先优化Nested Loop 的内层循环;
3,保证Join 语句中被驱动表上Join 条件字段已经被索引;
4,扩大join buffer的大小;








继续阅读→

合理使用索引

理解MySQL的索引

1,索引的原理:把无序的数据变成有序的查询;

索引:
1,索引的物理结构:
1,数据库文件存储的位置:my.ini配置文件中dataDir对应的数据目录中;
2,每一个数据库一个文件夹;

   1,MYISAM引擎:每一个表(table_name)-->
         table_name.MYI:存放的是数据表对应的索引信息和索引内容;
         table_name.FRM:存放的是数据表的结构信息;
         table_name.MYD:存放的是数据表的内容;
   2,InnoDB引擎:每一个表(table_name)-->
         table_name.frm:存放的是数据表的结构信息;
         数据文件和索引文件都是统一存放在ibdata文件中;
   3,索引文件都是额外存在的,对索引的查询和维护都是需要消耗IO的;



继续阅读→