我有一个使用 PHP 和 MariaDB 10.3 的小型大型数据库应用程序。
我有大约 100 个表,大约有 3,000 个 View 。
当超过 1,000 个 View 时,数据库架构就会崩溃并无法访问。 table 仍然很好,但所有的景色都崩溃了。当查询任何 View 时,它会给出不同的错误消息,例如“准备好的语句需要重新准备”或“丢失连接”。
主要问题与表缓存无关,因为扩展它并不能解决问题。它也不是关于如何模拟准备好的语句。我已经尝试过这些策略。
有人知道这个问题以及如何解决它吗?
最佳答案
检查max_prepared_stmt_count
的值,它默认约为16K,所以我认为这不是问题。
完成语句后,您会执行DEALLOCATE PREPARED STATMENT
吗?
View
是否调用存储例程?
您是否打开了查询缓存?
table_open_cache 的值是多少?
显示全局状态,如“Subquery_cache%”;
关于php - (太多)太多 View 导致问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58498611/