[MySQL & JDBC] Ondersteunde MyISAM transacties?

Pagina: 1
Acties:

  • Standeman
  • Registratie: November 2000
  • Laatst online: 24-05 15:23

Standeman

Prutser 1e klasse

Topicstarter
Ik ben nu een al een tijdje bezig MySQL en JDBC, maar ik stuit steeds op problemen met transacties. Van de documentatie van MySQL wordt ik niet echt veel wijzer en hier op GOT zie ik niet direct een antwoord wat op MYSQL 4.0 slaat.

Mijn vraag is dus ondersteund MyISAM transacties in MySQL 4.0? Ik weet dat InnoDB dit wel doet, maar ik hou de tabellen liever zoals deze is (omdat de rest gewoon lekker werkt).

Uiteraard gebruik ik gewoon connection.setAutoCommit(false) en connection.rollback, maar dat maakt niets uit. Ook SET AUTOCOMMIT=0 werkt niet, de records staan gewoon in de tabel 8)7.

Iemand een ideetje?


Ok... ik heb even verder zitten prutsen en het blijkt dat het met een InnoDB tabel wel gaat. Ik neem dus even aan dat MyISAM geen transacties ondersteund (kan ik namelijk nergens vinden op de MySQL site... :|)

Verander ik gelijk mijn vraag gelijk, weet iemand wat de nadelen zijn van InnoDB t.o.v. MyISAM? (behalve dat het wat trager zal zijn vanwege de transacties..)

[ Voor 24% gewijzigd door Standeman op 02-07-2004 10:23 ]

The ships hung in the sky in much the same way that bricks don’t.


Verwijderd

Ik denk dat het heel simpel is. Als je transacties wilt gebruiken zal je moeten overstappen naar InnoDB. De MyISAM storage engine ondersteunt geen transacties.
Zie MySql documentatie: http://dev.mysql.com/doc/mysql/en/Table_types.html

[ Voor 5% gewijzigd door Verwijderd op 02-07-2004 10:19 ]


  • kasper_vk
  • Registratie: Augustus 2002
  • Laatst online: 08-04-2025
Ja, dat MyISAM geen transacties ondersteunt. ;)
MySQL Server (version 3.23-max and all versions 4.0 and above) supports transactions with the InnoDB and BDB transactional storage engines. InnoDB provides full ACID compliance. See section 15 MySQL Storage Engines and Table Types.

The other non-transactional storage engines in MySQL Server (such as MyISAM) follow a different paradigm for data integrity called ``atomic operations.'' In transactional terms, MyISAM tables effectively always operate in AUTOCOMMIT=1 mode. Atomic operations often offer comparable integrity with higher performance.
Bron:
http://dev.mysql.com/doc/...SI_diff_Transactions.html
http://dev.mysql.com/doc/mysql/en/Table_types.html

[ Voor 2% gewijzigd door kasper_vk op 02-07-2004 10:22 . Reden: Beter laat dan nooit... :X ]

The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...'


  • Standeman
  • Registratie: November 2000
  • Laatst online: 24-05 15:23

Standeman

Prutser 1e klasse

Topicstarter
Verwijderd schreef op 02 juli 2004 @ 10:18:
Ik denk dat het heel simpel is. Als je transacties wilt gebruiken zal je moeten overstappen naar InnoDB. De MyISAM storage engine ondersteunt geen transacties.
Zie MySql documentatie: http://dev.mysql.com/doc/mysql/en/Table_types.html
hmmm, misschien moet ik 's leren om verder te lezen dan mijn neus lang is 8)7

van de mysql pagina's:
# Much faster
# Lower disk space requirements
# Less memory required to perform updates

The ships hung in the sky in much the same way that bricks don’t.