ORM框架自带的缓存
如mybatis 有一级和二级缓存,一级作用于一个session,二级作用于一个mapper,默认开启一级,想开启二级可以在配置文件中开启
缓存会在第一次执行一个查询sql时,把查询的数据存入缓存,第二次执行相同的sql时,从缓存中读取,当执行增删改时,缓存会被清空。
第三方缓存redis(key-value 内存 高速缓存数据库,普通数据库是磁盘)
100万人访问一个表格,要查询100万次数据库,如果把这些数据存到Redis(内存)中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。
索引
索引是人工设置的,索引生效是数据库自身实现的,一般把where后的条件字段,设置索引,相关与书有了目录,提高查询速度,但是记录变化,索引要动态更新,所以频繁变化的数据不要建索引