最近有客户在华丹快速开发平台上使用mysql视图进行查询时报错java.sql.SQLException:Prepared statement needs to be re-prepared。

原因:

    mysql中数据表的使用量超出了两个全局变量(打开表的缓存数量,表定义缓存数量)的设置值。

解决方案:

    数据库输入:

    SET GLOBAL table_open_cache=16384;

    SET GLOBAL table_definition_cache=16384;

    点击提交

查看变量:

    1、打开表的缓存数量(table_open_cache)查询sql:

      SHOW VARIABLES LIKE '%table_open_cache%';

    2、表定义缓存数量(table_definition_cache) 查询sql :

      SHOW VARIABLES LIKE '%table_definition_cache%';