Risolverò query SQL lente e migliorerò le performance di entity framework o hibernate
Backend Dotnet e Java, progettati per sopravvivere al secondo anno
Informazioni su questo servizio
Le query che funzionavano bene con 10.000 righe e non vanno più con 10 milioni di righe di solito hanno le stesse tre cause, e spesso si paga per sistemare quella sbagliata.
Ho aumentato il throughput di circa il 25% sulla piattaforma doganale nazionale del Bangladesh semplicemente ottimizzando le query e lavorando sui percorsi di accesso. Niente hardware nuovo, niente riscrittura. Lavoro quotidianamente con EF Core e JPA/Hibernate su otto servizi di produzione.
COSA OTTIENI
Leggo i piani di esecuzione invece di indovinare. Ricevi la diagnosi reale, indice mancante, N+1, o un problema di modello dati, con la correzione applicata e i tempi prima/dopo così puoi vedere esattamente cosa è cambiato.
CAUSE COMUNI CHE TROVO
Query N+1 nascoste dietro il lazy loading. Indici compositi mancanti o in ordine sbagliato. SELECT * su tabelle larghe. Filtraggio in memoria invece che in SQL. Paginazione mancante. Transazioni tenute aperte troppo a lungo. L'ORM che genera silenziosamente qualcosa di terribile.
La maggior parte di chi vende lavori su database qui sono DBAs. Ma il motivo per cui la tua query è lenta spesso è il ORM tre livelli sopra, che genera SQL che nessuno ha mai letto. Quello è il mio mondo.
FUNZIONA CON
SQL Server, PostgreSQL, MySQL. EF Core, Entity Framework, JPA/Hibernate, o SQL raw.
Piattaforma:
MongoDB
•
MySQL
•
PostgreSQL
•
SQL server
Expertise:
Normalizzazione
•
SQL
•
Performance
•
Ottimizzazione query
Il mio portfolio
FAQ
Traduzione automatica.
Hai bisogno di accesso al nostro database di produzione?
No. Una copia, un ambiente di staging, o anche solo lo schema più i piani di esecuzione sono di solito sufficienti. Preferisco non toccare la produzione, e dovresti diffidare di chi chiede di farlo.
E se il problema fosse il modello dati, non la query?
Allora te lo dirò, ed è la risposta che meno vogliono e più hanno bisogno. Otterrai una diagnosi onesta anche quando è scomoda, più quello che si può fare senza una migrazione.
Puoi garantire che sarà più veloce?
No, e stai attento a chi lo fa. Quello che garantisco è una diagnosi reale con prove. In pratica, la maggior parte dei sistemi lenti ha vittorie ovvie, ma non prometto un numero prima di aver visto un piano.
Rompete qualcosa?
Le modifiche agli indici e alle query sono reversibili e consegno esattamente ciò che è cambiato, con il rollback. Nulla va in produzione senza la tua revisione.
Lavori anche con ORM diversi da EF Core e Hibernate?
Questi due e SQL raw sono i miei punti di forza. Chiedi degli altri e dirò di no se è un no, piuttosto che imparare con i tuoi soldi.
Cosa ricevo esattamente?
Le correzioni, più un rapporto scritto prima e dopo con i tempi e i piani di esecuzione, così puoi mostrare a qualcun altro cosa è cambiato e perché.
Come ti mando una query lenta in modo sicuro?
Il testo della query, il piano di esecuzione (reale, non stimato), le definizioni delle tabelle e le stime approssimative delle righe. Nessun dato di produzione deve lasciare il tuo lato perché io possa lavorare.
Come comunichiamo e con quale frequenza?
Attraverso Fiverr. In una diagnosi di 2 giorni, ricevi da me una risposta con domande e una con la soluzione. Lavoro in GMT+6 e rispondo entro un'ora.

