MySQL优化(二)
1、建立基础索引:在where,order,join字段上建立索引 优化,组合索引:基于业务逻辑 前缀索引使用上与普通索引一致! 2、索引的存储结构:Btree索引,hash索引,聚簇索引 Btree不是二叉树 在MySQL中,仅仅只有InnoDB的主键索引是聚簇结构,其他的都是典型的BTree结构 Hash索引就是key-value,就是PHP中的关联数组,索引被载入到内存时 3、queryCache,当数据表结构改动,缓存失效,动态数据不能被缓存 show variables like 'query_cache_type' show variables like 'query_cache_size' set global query_cache_size=102760448; select sql_cache * from student where user like '%fyw' 4、分区,partition 一个表的数据和索引存储在不同文件中 //利用id字段,使用hash算法,将数据分布到10个分区内 partition by hash(id) partitions 10 5、算法 (1)hash算法:(均匀分配) 分区算法,在业务逻辑层面,表示均匀分配。 (2)key算法:(均匀分配) partition by key(subject) partitions 10