sql >> Database >  >> RDS >> Mysql

Zend Framework en Mysql - erg traag

Tips:

  • Cache de tabel metagegevens . Standaard Zend_Db_Table probeert metagegevens over de tabel te ontdekken telkens wanneer uw tabelobject wordt geïnstantieerd. Gebruik een cache om het aantal keren dat dit moet gebeuren te verminderen. Of anders hardcoderen in uw Table-klasse (opmerking:db-tabellen zijn geen modellen ).

  • Gebruik EXPLAIN om het optimalisatieplan van MySQL te analyseren. Gebruikt het effectief een index?

    mysql> EXPLAIN SELECT * FROM standard_accessory WHERE model = 'abc';
    
  • Gebruik BENCHMARK() om de snelheid van de zoekopdracht te meten, zonder PHP te gebruiken. De subquery moet een enkele kolom retourneren, dus zorg ervoor dat u een niet-geïndexeerde kolom retourneert, zodat de query de gegevens moet raken in plaats van alleen een indexitem te retourneren.

    mysql> SELECT BENCHMARK(1000, 
      (SELECT nonindexed_column FROM standard_accessory WHERE model = 'abc'));
    
  • Merk op dat Zend_Db_Adapter lui laadt zijn db-verbinding wanneer u de eerste vraag maakt. Dus als er enige traagheid is bij het verbinden met de MySQL-server, gebeurt dit wanneer u het Table-object instantiseert (wanneer het metagegevens opvraagt). Is er een reden waarom dit lang kan duren? DNS-zoekopdrachten , misschien?



  1. De status van database-indexen analyseren

  2. virtualenv pip mysqldb mac os X python

  3. Basis MySQL-query's

  4. Wat is het verschil tussen utf8_unicode_ci en utf8_unicode_520_ci