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

Bedst at bruge * når du kalder mange felter i mysql?

Bemærk: at navngive alle felter er selvfølgelig en god praksis, men i dette indlæg vil jeg kun diskutere ydeevnefordele, ikke design eller vedligeholdelse.

* syntaks kan være langsommere af følgende årsager:

  • Ikke alle felter er indekseret, og forespørgslen bruger fuld tabelscanning. Sandsynligvis ikke dit tilfælde:det er næppe muligt, at alle felter, du returnerer, er indekseret med et enkelt indeks.

  • Returnering af efterfølgende felter fra en tabel, der indeholder kolonner med variabel længde, kan resultere i en let søgeoverhead:for at returnere 20th felt, forrige 19 bør undersøges og forskydninger beregnes.

  • Der skal blot returneres flere data (overført via forbindelsen).

Da du har brug for næsten alle felter, er den sidste grund nok den vigtigste. Lad os sige, description TEXT felt kan kun være 1 af 50 felter, der ikke bruges på siden, men kan optage 10 gange så meget plads som alle andre felter tilsammen.

I dette tilfælde vil det selvfølgelig være bedre at navngive alle felter og udelade de lange felter, du ikke har brug for.



  1. Tæl forekomster af en understreng i en MySQL-kolonne

  2. SQL-serverunion, men hold orden

  3. Sådan undgår du, at aktivitetsmonitor skader din SQL-servers ydeevne

  4. Inkrementel belastning i SSIS