php 分页 缓存,MySQL数据库自身缓存设置和分页

MySQL本身提供的一个可以缓存查询结果的功能,注意:严格基于sql语句的大小写。

数据库MySQL自身缓存设置使用:

1. 需要开启MySQL的自身缓存功能# show variables like “%cache%”

d205d60ef2ccb6033baac9bf4f45a344.png

2.query_cache_type : MySQL自身缓存的启动状态 默认是开启的,但是没有空间的大小

query_cache_size :MySQL自身缓存的大小,单位是B(字节)

如果需要设置MySQL的自身缓存为 32 M# set global query_cache_size = 1024 * 1024 * 32;

做一些对比测试query_cache_size=0;

5d8353d464718d12c3b999eb5f7aa7fc.png

3. 查询

f7a62556d9627dd8b3ca62bdf5fc32e5.png

4.开启MySQL自身缓存(32M空间)

7cd8f2a3d039522bf944e838e76bc199.png

5. 当修改查询语句的单词大小写的时候,查询的结果不变,但是MySQL自身缓存认为这是不一样的查询,会进行在此缓存(MySQL自身的缓存是严格基于sql语句的大小写的)

468695e585bf7f1706f106c2e7af42b2.png

分页:

1.

1).一般在分页的时候,都是这样处理的# select * from news limit offset,number;

当随着页数变大,MySQL执行查询的时间明显变长

2).主要是由于MySQL在执行limit操作的时候,是向这样操作的

先取出 offset+number 条数据,在丢弃 offset条数据,返回number数据。

4148cba8ddfe0668392dee0cb9cd0b79.png

53ffccce091b8a7e214de5c77a9df9d1.png

45a8bd23cd39090bb9b138eb7499dcb0.png

2.

1).一般为了防止MySQL这类行为的出现可以使用:# select * from news where id > 1000 limit 10;

2).通过下面的对比测试发现,在第二种分页处理的时候,还可以使用主键ID索引,明显速度可以加快。所以以后分页可以使用该方式处理。

51a242220c1adb44f5a0ef85cbc1df6e.png

17103852f059684382d3ae10fc884d28.png

注意事项

注意:严格基于sql语句的大小写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值