sql >> Database >  >> RDS >> Mysql

SQL - prestaties in varchar vs. int

U moet het juiste gegevenstype gebruiken voor de gegevens die u vertegenwoordigt - eventuele dubieuze theoretische prestatiewinsten zijn ondergeschikt aan de overhead van het omgaan met gegevensconversies.

Het is echt onmogelijk om te zeggen wat dat is op basis van de vraag, maar de meeste gevallen liggen nogal voor de hand. Waar ze niet duidelijk zijn, zijn situaties waarin u een gegevenselement hebt dat wordt weergegeven door een reeks cijfers maar dat u niet als een nummer behandelt, bijvoorbeeld een telefoonnummer.

Aanwijzingen dat u met deze situatie te maken heeft, zijn:

  • voorloopnullen die behouden moeten blijven
  • er worden geen rekenkundige bewerkingen uitgevoerd op het element.
  • stringbewerkingen worden uitgevoerd:bijv. "neem de laatste vier tekens"

Als dat het geval is, wil je waarschijnlijk je "nummer" opslaan als een varchar.



  1. Hash-joins op nullable-kolommen

  2. SQLite sneller dan MySQL?

  3. GROUP BY, SUM en AVG-query's versnellen

  4. Bulksgewijs gegevensbestanden invoegen in SQL Server