php - (太多)太多 View 导致问题

标签 php mysql view mariadb

我有一个使用 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/

相关文章:

PHP get_called_class() 替代方案

php - 何时抑制 PHP 中的错误

php - 组合 3 个 select 语句并按时间戳排序

php - 如果左连接表中的子行不存在,则 Mysql 查询将忽略该行

c# - SQL View 上的 LINQ 选择得到错误的答案

ios - 从 UIView 调用 UIView Controller

c# - 模型的类型与使用语句 MVC View 中指定的类型不同

php - 将值从 View 传递到 Controller 而不使用 <form> codeigniter

c# - 使用某些列插入/更新行并保留其他列的值

当用户收藏项目时,PHP 星号不会填写