我是yii的新手虽然我已经使用codeigniter工作了很多,并且只是想将我的代码从codeigniter转换为yii 但CDbconnection执行时间超过1秒我附上了截图。 还有我正在使用的sql代码。
$criteria = new CDbCriteria();
$criteria->select = "total_photos";
$data = array( 'Gallerys' => Gallerynames::model()->findAll($criteria));
请查看
修改
这是我的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,
),
答案 0 :(得分:2)
因为ActiveRecord依赖于有关表的元数据来确定 列信息,读取元数据和分析需要时间 它。这在开发阶段可能不是问题,但是对于 应用程序在生产模式下运行,如果是浪费时间的话 数据库架构不会改变。
因此,将schemaCachingDuration应用程序组件的db设置为大于零的值。 'DB'=>阵列( '类'=> 'system.db.CDbConnection', '的connectionString'=> '源码:/wwwroot/blog/protected/data/blog.db', '的schemaCachingDuration'=> 3600, ),
请注意,您应在应用程序配置
中指定有效的cache 修改强>
看来你的问题不是由于架构。引用this将localhost
更改为127.0.0.1
将解决此问题