system.db.CDbConnection在yii中执行时间超过1秒

时间:2012-08-20 07:07:47

标签: php yii

我是yii的新手虽然我已经使用codeigniter工作了很多,并且只是想将我的代码从codeigniter转换为yii 但CDbconnection执行时间超过1秒我附上了截图。 还有我正在使用的sql代码。

$criteria = new CDbCriteria();
$criteria->select = "total_photos";

$data = array( 'Gallerys' => Gallerynames::model()->findAll($criteria));

请查看Screen shot of the log

修改

这是我的db config

'db'=>array(
        'class' => 'system.db.CDbConnection',
        'connectionString' => 'mysql:host=localhost;dbname=yiiwiki',
        'emulatePrepare' => true,
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
        'enableProfiling' => true,
        'schemaCachingDuration' => 3600,
    ),

1 个答案:

答案 0 :(得分:2)

来自yii guide

  

因为ActiveRecord依赖于有关表的元数据来确定   列信息,读取元数据和分析需要时间   它。这在开发阶段可能不是问题,但是对于   应用程序在生产模式下运行,如果是浪费时间的话   数据库架构不会改变。

因此,将schemaCachingDuration应用程序组件的db设置为大于零的值。     'DB'=>阵列(                 '类'=> 'system.db.CDbConnection',                 '的connectionString'=> '源码:/wwwroot/blog/protected/data/blog.db',                 '的schemaCachingDuration'=> 3600,             ),

请注意,您应在应用程序配置

中指定有效的cache

修改 看来你的问题不是由于架构。引用thislocalhost更改为127.0.0.1将解决此问题