Mysql
 sql >> Database >  >> RDS >> Mysql

Meglio usare * quando si chiamano molti campi in mysql?

Nota: nominare tutti i campi è ovviamente una best practice, ma in questo post parlerò solo dei vantaggi in termini di prestazioni, non di quelli di progettazione o manutenzione.

Il * la sintassi può essere più lenta per i seguenti motivi:

  • Non tutti i campi sono indicizzati e la query utilizza la scansione completa della tabella. Probabilmente non è il tuo caso:è quasi impossibile che tutti i campi restituiti siano indicizzati con un unico indice.

  • La restituzione di campi finali da una tabella che contiene colonne di lunghezza variabile può comportare un leggero sovraccarico di ricerca:restituire 20th campo, precedente 19 dovrebbero essere esaminati e calcolati gli offset.

  • Solo più dati devono essere restituiti (passati sulla connessione).

Poiché hai bisogno di quasi tutti i campi, l'ultimo motivo è probabilmente il più importante. Dì, il description TEXT il campo può essere solo 1 di 50 campi non utilizzati nella pagina, ma possono occupare 10 volte più spazio di tutti gli altri campi insieme.

In questo caso sarà ovviamente meglio nominare tutti i campi e omettere i campi lunghi che non ti servono.