【问题标题】:Need clarification: Yii2, MySQL Procedures, and Temporary tables需要说明:Yii2、MySQL 过程和临时表
【发布时间】:2018-10-18 00:36:16
【问题描述】:

在我的 PHP Yii2 项目中,我正在调用一个 MySQL 存储过程,它会创建一个临时表,大约需要 3-4 秒才能完成。

Yii2 是为所有用户重复使用相同的数据库连接,还是在每次用户访问网站时创建一个新的连接?我知道临时表是相对于连接的。

那么,如果我有 50 多个用户同时使用调用该过程的功能,那么是否有可能所有过程都尝试使用同一个临时表?

【问题讨论】:

    标签: php mysql stored-procedures yii2


    【解决方案1】:

    为每个连接创建临时表。这意味着每次用户访问您的网站时都会创建该表。但是不同连接中的过程调用不可能尝试使用相同的临时表,因为临时表仅对当前连接可见

    【讨论】:

    • 所以我说 Yii 为每个使用基于 DB 的模型的用户或页面访问创建一个新的 PDO 连接是否正确,而不是为站点的所有用户使用相同的连接?
    • 是的,默认情况下 yii 为每个应用程序运行创建一个新连接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 2013-07-15
    • 2023-03-07
    相关资源
    最近更新 更多