sql >> データベース >  >> RDS >> Mysql

ZendFrameworkとMysql-非常に遅い

    ヒント:

    • テーブルをキャッシュしますメタデータ 。デフォルトでは、Zend_Db_Table テーブルオブジェクトがインスタンス化されるたびに、テーブルに関するメタデータを検出しようとします。キャッシュを使用して、これを実行する必要がある回数を減らします。または、Tableクラスにハードコーディングします(注:dbテーブルはモデルではありません

    • EXPLAINを使用します MySQLの最適化計画を分析します。インデックスを効果的に使用していますか?

      mysql> EXPLAIN SELECT * FROM standard_accessory WHERE model = 'abc';
      
    • BENCHMARK()を使用します PHPを使用せずに、クエリの速度を測定します。サブクエリは単一の列を返す必要があるため、インデックスエントリを返すだけでなく、クエリがデータにアクセスする必要があるように、インデックスのない列を返すようにしてください。

      mysql> SELECT BENCHMARK(1000, 
        (SELECT nonindexed_column FROM standard_accessory WHERE model = 'abc'));
      
    • Zend_Db_Adapterに注意してください lazy-最初のクエリを実行するときにdb接続をロードします。したがって、MySQLサーバーへの接続に速度が遅い場合は、Tableオブジェクトをインスタンス化するときに発生します(メタデータをクエリするとき)。これに時間がかかる理由は何ですか? DNSルックアップ 、おそらく?



    1. SQL ServerのDATALENGTH()とは何ですか?

    2. MySQLで結果セット全体を連結するにはどうすればよいですか?

    3. STR_TO_DATE()例– MySQL

    4. SQL Server接続文字列を設定するにはどうすればよいですか?