1

私はyiiを初めて使用しますが、codeigniterで多くの作業を行い、コードをcodeigniterからyiiに変換しようとしていましたが、CDbconnectionの実行に1秒以上かかり、スクリーンショットを添付しました。また、私が使用しているSQLコード。

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

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

調べてくださいログのスクリーンショット

編集:

これが私のdb設定です

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

1 に答える 1

2

yiiガイドから

ActiveRecordはテーブルに関するメタデータに依存して列情報を決定するため、メタデータを読み取って分析するのに時間がかかります。これは開発段階では問題にならないかもしれませんが、本番モードで実行されているアプリケーションの場合、データベーススキーマが変更されなければ、時間の無駄になります。

したがって、dbアプリケーションコンポーネントのschemaCachingDurationをゼロより大きい値に設定します。'db' => array('class' =>'system.db.CDbConnection'、'connectionString' =>'sqlite:/wwwroot/blog/protected/data/blog.db'、'schemaCachingDuration' => 3600、) 、

アプリケーション構成で有効なキャッシュを指定する必要があることに注意してください

編集 あなたの問題はスキーマによるものではないようです。この変更を参照localhostする127.0.0.1と修正されます

于 2012-08-20T08:11:55.173 に答える