大家好
我在database.php中配置了:
DB_SQL_BUILD_CACHE' =》true,
'DB_SQL_BUILD_LENGTH' => 20,
然后在控制器方法中,使用模型查询一条数据:users::get(1);
重复执行查询,发现每次都会执行,好像没有缓存第一次的查询结果SHOW COLUMNS FROM
tp_users``
大家好
我在database.php中配置了:
DB_SQL_BUILD_CACHE' =》true,
'DB_SQL_BUILD_LENGTH' => 20,
然后在控制器方法中,使用模型查询一条数据:users::get(1);
重复执行查询,发现每次都会执行,好像没有缓存第一次的查询结果SHOW COLUMNS FROM
tp_users``
补充一下楼上的回答
每次变更表结构后, 都需要执行一次, 速度很快无需担心
php think optimize:schema
app_debug
, 否则则缓存表结构不会生效, 你说的 SHOW COLUMNS FROM XXX
依然存在项目性能要求高就必须这样做, 能降低数据库压力提升性能, 否则每次执行用模型执行增删改查都会执行 SHOW COLUMNS FROM
.
积少成多想想就知道有多可怕了
该配置在tp5.x都应该生效的, tp6没有用过
1 回答946 阅读✓ 已解决
684 阅读
你在项目根目录运行一下
php think optimize:schema
这个命令就可以了,DB_SQL_BUILD_CACHE这个好像thinkphp3.2.3就废弃了