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

Massiv PHP-array vs MySQL-database?

De andre svar er rigtige - men af ​​de forkerte årsager.

At holde dataene i et PHP-array vil det være meget hurtigere at hente end fra en database - også selvom datasættet er cachelagret i hukommelsen. Problemet er, at i normale PHP-arkitekturer håndteres hver anmodning af en separat proces. Derfor skal hver anmodning, der har brug for adgang til dataene, indlæse hele datasættet i hukommelsen. Dette tager tid. Det tidspunkt, hvor det bliver dyrere at udføre denne operation i stedet for at hente elementer fra en database, afhænger af en masse forskellige faktorer - men som en grov tommelfingerregel er det omkring 100 poster. Der er applikationer, hvor denne model giver mening - men de er afhængige af meget små datamængder og en kontrolleret proces med at ændre / administrere dataene.

Dit næste problem er, at du sandsynligvis vil registrere nogle transaktioner mod aktien - det betyder at ændre dataene - og det betyder at serialisere adgangen for at sikre, at 2 separate transaktioner ikke sker på samme tid. Det er umuligt at implementere dette i PHP (uden en dedikeret dæmon til at dømme), mens der ikke er deadlocks.

Hvis du opkræver nogen for at implementere koden, så burde det være blændende indlysende, at det er en meget, meget dårlig idé at prøve at implementere dette i hukommelsen.



  1. MySQL aggregeret sum af JSON-objekter

  2. MySQL - Vælg den seneste dato ud af et sæt af flere mulige tidsstempler?

  3. Kan mysql importere en csv- eller anden txt-fil til én kolonne?

  4. Opret forespørgsel for at få optælling af uafsluttede opkald