首先,如果我在错误的地方张贴,我很抱歉。现在解决问题:
我正在开发一个带有CakePHP和Windows后端的Oracle后端的Web应用程序,开发最初是在CodeIgniter中完成的,最近我们决定迁移到CakePHP。
Oracle服务器位于不同的子网。我能够将Cake连接到远程服务器没问题,我设置了一些简单的模型,视图和控制器。但是,当我试图访问其中一个控制器。例如http://www.example.com/facilities/,加载页面需要一段时间,30秒后脚本会超时。
经过多次调试后,我发现这些行导致了问题。
cake/libs/model/datasources/dbo/dbo_oracle.php:448
$sql = 'SELECT view_name AS name FROM all_views UNION SELECT table_name
AS name FROM all_tables';
if (!$this->execute($sql)) {
return false;
}
根据我的理解,Cake正在尝试获取数据库中的所有表并将其与Model相关联,当我尝试在sqldeveloper上运行上述查询时,我得到了3.7k +结果,我认为它正在减慢到这一点脚本超时的地方。
这有什么解决方法吗?
提前感谢。
答案 0 :(得分:1)
ALL_TABLES和ALL_VIEWS包含您可以访问的所有表/视图的列表。