optimize:schema
字段缓存仅在部署模式下生效,并且仅适用于使用
think-orm
的情况,如果你使用了其它的ORM库,则不支持生成。
可以通过生成数据表字段信息缓存,提升数据库查询的性能,避免多余的查询。命令如下:
php think optimize:schema
如果是多应用模式,你可以使用下面的指令生成admin
应用的字段缓存。
php think optimize:schema admin
会自动生成当前数据库配置文件中定义的数据表字段缓存,也可以指定数据库生成字段缓存(必须有用户权限),例如,下面指定生成demo
数据库下面的所有数据表的字段缓存信息。
php think optimize:schema --db demo
执行后会自动在runtime/schema
目录下面按照数据表生成字段缓存文件。
V6.0.3+
版本开始,取消了--db
选项,改用--connection
选项指定使用的数据库连接来生成,并且缓存用内置的缓存机制替代之前的文件方式。
php think optimize:schema --connection mysql
没有继承think\Model类的(抽象)模型类不会生成。如果定义了公共模型类,最好把公共模型类定义为抽象类(
abstract
)。
更新数据表字段缓存也是同样的方式,每次执行都会重新生成缓存。如果需要单独更新某个数据表的缓存,可以使用:
php think optimize:schema --table think_user
支持指定数据库名称
php think optimize:schema --table demo.think_user