sql >> Databasteknik >  >> RDS >> Mysql

Massiv PHP-array vs MySQL-databas?

De andra svaren är rätt - men av fel anledningar.

Att hålla data i en PHP-array kommer att vara mycket snabbare att hämta än från en databas - även om datamängden är cachad i minnet. Problemet är att i normala PHP-arkitekturer hanteras varje begäran av en separat process. Därför måste varje begäran som behöver tillgång till data ladda hela datamängden i minnet. Detta tar tid. Den punkt då det blir dyrare att utföra den här operationen snarare än att hämta objekt från en databas beror på många olika faktorer - men som en grov tumregel är det i storleksordningen 100 poster. Det finns applikationer där den här modellen är vettig - men de förlitar sig på mycket små datavolymer och en kontrollerad process för att ändra/hantera data.

Ditt nästa problem är att du antagligen kommer att vilja registrera några transaktioner mot aktien - det innebär att du ändrar data - och det innebär att serialisera åtkomsten för att säkerställa att två separata transaktioner inte sker samtidigt. Det är omöjligt att implementera detta i PHP (utan en dedikerad demon att döma) utan dödläge.

Om du tar betalt av någon för att implementera koden borde det vara förblindande uppenbart att det är en väldigt, väldigt dålig idé att försöka implementera detta i minnet.



  1. Hur tar jag bort de tre första tecknen i mysql?

  2. Hur ställer du in autocommit i en SQL Server-session?

  3. Avrunda en MYSQL datetime till tidigaste 15 minuters intervall i millisekunder (PHP)

  4. Hantera transaktioner i MySQL