sql >> Databasteknik >  >> RDS >> Mysql

Ihållande vs icke-beständig – vilket ska jag använda?

Med beständiga anslutningar:

  • Du kan inte bygga transaktionsbearbetning effektivt
  • omöjliga användarsessioner på samma anslutning
  • appen är inte skalbar. Med tiden kan du behöva utöka den och det kommer att kräva hantering/spårning av beständiga anslutningar
  • om skriptet, av någon anledning, inte kunde släppa låset på bordet, kommer alla följande skript att blockeras på obestämd tid och man bör starta om db-servern. Genom att använda transaktioner kommer transaktionsblockeringen också att gå till nästa skript (med samma anslutning) om skriptexekveringen avslutas innan transaktionsblockeringen slutförs, etc.

Beständiga anslutningar ger inget du kan göra med icke-beständiga anslutningar.
Varför ska man då använda dem överhuvudtaget?
Den enda möjliga anledningen är prestanda, att använda dem när man skapar en länk till din SQL Server är hög. Och detta beror på många faktorer som:

  • databastyp
  • om MySQl-servern är på samma maskin och, om inte, hur långt? kan vara utanför ditt lokala nätverk/domän?
  • hur mycket överbelastad av andra processer maskinen som MySQL sitter på

Man kan alltid ersätta beständiga anslutningar med icke-beständiga anslutningar. Det kan ändra skriptets prestanda, men inte dess beteende!

Kommersiell RDMS kan vara licensierad av antalet samtidiga öppnade anslutningar och här kan de beständiga anslutningarna missa



  1. PostgreSQL:Ta bort attribut från JSON-kolumnen

  2. C++ Program som kommunicerar med MySQL Database

  3. MariaDB DAY() Förklarad

  4. Returnera alla rader från en specifik partition i SQL Server (T-SQL)