Sto costruendo un'app PHP che otterrà molto traffico. Ho sempre imparato che dovrei limitare il numero di query SQL (al momento è circa 15 per visitatore). Potrei limitarlo a circa la metà, usando PHP per filtrare e ordinare i dati, ma sarebbe più veloce? In alternativa, potrei usare "JOIN" nella query per ridurre il numero di query, ma è molto più veloce dell'esecuzione di più query? Grazie!Esegui query SQL più o più complicate o utilizza PHP per filtrare i dati?
risposta
Se hai 15 query per visitatore, molto probabilmente hai fatto qualcosa di sbagliato, a meno che la tua applicazione non sia abbastanza grande.
Utilizzo di PHP per ordinare e filtrare i dati, invece di MySQL
Facendo l'ordinamento e filtraggio in PHP non renderà l'applicazione più veloce, lo renderà più lento di sicuro, MySQL è ottimizzato per essere molto veloce dato gli indici giusti, quindi dovresti sicuramente usarlo quando puoi.
Ulteriori informazioni sull'indicizzazione del database e semplificheranno la vita e aumenteranno le prestazioni dell'applicazione. Questo è il link:
http://www.mysqltutorial.org/mysql-create-drop-index.aspx
unione contro più query
Si chiede se si utilizza unirsi di sarebbe più veloce di eseguire più query.
La risposta è sì, sarà sempre più veloce utilizzare join dato gli indici corretti. Che torna anche al primo argomento, indicizzazione.
Tuttavia, tieni presente che l'unione è efficiente come lo vuoi essere, sarà estremamente efficiente se eseguita correttamente ed estremamente lenta se eseguita in modo errato, quindi è necessario conoscere le basi per farlo correttamente.
Potete guardare qui per un'introduzione a unirsi di:
http://blog.sqlauthority.com/2009/04/13/sql-server-introduction-to-joins-basic-of-joins/
- 1. Query SQL Server per molte o più relazioni
- 2. Query SQL per trovare i dati più efficaci
- 3. jqGrid: utilizzo di più metodi per filtrare i dati
- 4. SQL Inserire una riga o più righe di dati?
- 5. Cos'è più veloce? File_exist o query MySQL?
- 6. Reindirizzamento più veloce, PHP o htaccess?
- 7. ORMLite o query su più tabelle
- 8. Realm: utilizza uno o più realm in un'app (e uno o più schemi)
- 9. Usa SQL View o SQL Query?
- 10. Recordset.Modifica o aggiorna l'istruzione sql vba più veloce per l'aggiornamento?
- 11. In PHP, che è più veloce: preg_split o esplode?
- 12. Query SQL per conteggio() più tabelle
- 13. Come filtrare i dati JSON in JavaScript o jQuery?
- 14. NHibernate - Esegui SQL per popolare DTO
- 15. Devo denormalizzare o eseguire più query in DocumentDb?
- 16. SQLite Android: quale query ("query" o "rawQuery") è più veloce?
- 17. query SQL per l'espressione lambda o LINQ
- 18. PHP/SQL: ORDER BY o sort ($ array)?
- 19. È meglio restituire una query grande o alcune più piccole?
- 20. Più PHP MySQL query più semplici rispetto a una singola query più complessa,
- 21. EAR singolo? O più EAR?
- 22. SQL: una query come questa è OK o esiste un modo più efficiente per farlo, come usare un join?
- 23. Esegui query SQL con Elixir
- 24. Query LINQ per corrispondere più parole
- 25. Esecuzione più query SQL in una dichiarazione con PHP
- 26. Come rendere la query SQL più leggibile in PHP?
- 27. che è più veloce? Dichiarazione o PreparedStatement
- 28. Esegui query SQL sull'avvio del servizio MySQL
- 29. Query SQL - Elimina i duplicati se più di 3 dups?
- 30. Quando filtrare/disinfettare i dati: prima dell'inserimento del database o prima della visualizzazione?
farlo nel db, ma solo dopo aver letto un sacco su "indici" per le tabelle. – goat
15 query SQL per visitatore per pagina? oh accidenti. – Dementic