①查询缓存
查看参数:show variables like 'query_cache%';
开启:set global query_cache_type = 1;
设置缓存大小:set global query_cache_size = 1024*1024*64; //设置为64m,但通常不够
注:在数据变更时会自动清空缓存;满时会自动替换缓存 ;sql语句必须完全一样。
②分区 详情点击这里
是否支持:SHOW VARIABLES LIKE 'have_partitioning';
描述:将表数据分别存储到不同区域(加快增删查改速度)
组成:分区算法+分区(每个分区都是一张独立的表)
分区算法:
使用主键,且取余分区) 《----- 最常用-----》
CREATE table partition_1 (
id int UNSIGNED not null AUTO_INCREMENT,
title varchar(255),
PRIMARY KEY (id)
)
engine = INNODB
partition by key (id) partitions 5;
生成结果如下:
使用主键,取余分区)
create table t_hash (
a int,
b datetime
)partition by hash (YEAR(b)) partitions 4; //根据年份分区
list列表分区算法(所有分区算法都必须使用主键,条件分区)
create table t_list (
a int,
b datetime
)partition by list (month(b)) (
partiotion spring VALUES IN(3, 4, 5),
partiotion spring VALUES IN(6, 7, 8),
partiotion spring VALUES IN(9, 10, 11),
partiotion spring VALUES IN(12, 1, 2)
);
range表达式分区(所有分区算法都必须使用主键,条件分区)
create table t_list (
a int,
b datetime
)partition by list (year(b)) (
partition p_70 LESS THAN (80),
partition p_80 LESS THAN (90)
);