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

MySQL InnoDB VÆLG...GRÆNSE 1 TIL OPDATERING kontra OPDATERING... GRÆNSE 1

Da jeg ikke fik svar, begyndte jeg at lave benchmarking. Mine kriterier er som følger:

  • 20.000 prægenererede koder
  • Brug af Apache ab kommando med 20.000 anmodninger, 100 samtidighed:ab -n 20000 -c 100
  • Servlet -> EJB (JPA 2.0 EclipseLink, JTA) til at udføre opdateringen i DB (som det vil være gennem en JSF-handling i en virkelig situation)
  • 2 versioner af Servlet, en med mulighed 1 (VÆLG ... TIL OPDATERING ), og en med mulighed 2 (OPDATERING ... GRÆNSE 1)
  • Stoppet Glassfish, tryk på den testede Servlet manuelt 5 gange for at varme den op, nulstil alt til NULL til user_id
  • Tester køres 3 gange hver, og der er angivet gennemsnit

Resultater:

VÆLG ... FOR OPDATERING; OPDATERING ... :

Concurrency Level:      100
Time taken for tests:   758.116 seconds
Complete requests:      20000
Failed requests:        0
Write errors:           0
Row updated:            20000

OPDATERING.... GRÆNSE 1:

Concurrency Level:      100
Time taken for tests:   773.659 seconds
Complete requests:      20000
Failed requests:        0
Write errors:           0
Row updated:            20000

Så i det mindste på mit system virker muligheden med 2 forespørgsler mere effektiv end den ene forespørgsel. Det havde jeg ikke forventet :)




  1. C++ bindinger til MySQL

  2. Løb i alt efter Group SQL (Oracle)

  3. Sammenføj to borde med stand - rubin på skinner

  4. Hvordan kombinerer man data fra flere tabeller ved hjælp af SQL?