字段缓存
最后更新于:2022-04-02 07:31:49
## 字段缓存
由于字段检查和自动参数绑定需要,在每次查询数据表数据之前需要获取该表的字段信息,但可以支持字段缓存功能。
要开启字段缓存功能必须在数据库配置中设置:
```
// 开启字段缓存
'fields_cache' => true,
// 字段缓存路径
'schema_cache_path' => 'path/to/cache',
```
开启后,会自动生成使用过的数据表字段缓存,如果你更改了数据表的字段及类型,需要清空字段缓存文件。字段缓存采用文件方式保存,路径由`schema_cache_path`配置参数设置。
如果是在ThinkPHP`6.0+`中使用,则可以使用指令直接生成(或更新)字段缓存
```
php think optimize:schema
```
如果你的模型类是各个应用独立的话,需要指定应用名生成字段缓存
```
php think optimize:schema index
```
也可以指定生成某个数据库的所有数据表字段缓存。
```
php think optimize:schema --db demo
```
每次执行指令都会重新生成数据表字段缓存文件,如果只是更改了数据表的某个字段或者增加了新的字段,重新部署上线的时候,支持单独更新某个数据表的缓存。
使用`--table`参数指定需要更新的数据表:
~~~
php think optimize:schema --table user
~~~
支持指定数据库名称
~~~
php think optimize:schema --table demo.user
~~~
生成字段缓存后,你会发现数据库的查询性能提升明显,尤其是在请求中操作大量数据表的情况下。
';