[mysql] replace delayed

Pagina: 1
Acties:

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
Hoi,

Ik heb ff in de manual gekeken van mysql over replace en delayed, maar snap het nut nog niet helemaal.

Replace kom ik wel uit, dit is een directe controle binnen sql of een record al bestaat (met bepaalde unieke key).

Maar dat delayed, wat biedt dat nou voor voordelen? Ik zie wel dat Topix o.a. een replace delayed querie gebruikt, maar is dat sneller dan wanneer ik niet een delayed erin gebruik?

Hopelijk kan iemand me wat opheldering geven :).

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

delayed heeft gewoon een lagere prio.
Iets wat ik eigenlijk niet snap, waarom je het zou willen... Magoed.

Blijkbaar zijn er mensen die het soms nuttig vinden, zie het als een soort "idle prio".

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
Ik denk dat het nu niet meer in Topix zit omdat het geen support heeft voor InnoDB, maar idd, wat zou een voordeel ervan kunnen zijn?

Want dan het een lagere prioriteit heeft begreep ik al :).

  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

Another major benefit of using INSERT DELAYED is that inserts from many clients are bundled together and written in one block. This is much faster than doing many separate inserts.
Dit is toch wel helder genoeg? :)

Zie het als een HK-topic waarbij iedereen zo snel mogelijk reageert, als mysql bezig is met de 1e reply te inserten, kan die de 2e reply gelijk erachteraan plakken.

This can no longer be ignored.


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
Erik Jan:
Dit is toch wel helder genoeg? :)

Zie het als een HK-topic waarbij iedereen zo snel mogelijk reageert, als mysql bezig is met de 1e reply te inserten, kan die de 2e reply gelijk erachteraan plakken.
Hoe weet sql hoe lang die moet wachten :?

  • Erik Jan
  • Registratie: Juni 1999
  • Niet online

Erik Jan

Langzaam en zeker

ddc:
Hoe weet sql hoe lang die moet wachten :?
If no new INSERT DELAYED commands are received within delayed_insert_timeout seconds, the handler terminates.
Misschien handig om dit ff door te lezen.

This can no longer be ignored.


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
Erik Jan:
Misschien handig om dit ff door te lezen.
Had ik blijkbaar toch niet alles goed gelezen :+

Maar maakt het nou ook écht veel uit qua performance :?

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op maandag 20 mei 2002 22:43 schreef ddc het volgende:

[..]

Had ik blijkbaar toch niet alles goed gelezen :+

Maar maakt het nou ook écht veel uit qua performance :?
Niet bekend met het buffer mechanisme dennis? FF een voorbeeld met bufferd disk I/O
Als je dingen cached om alles in een keer weg te schrijven, smeer je de constante wachttijd (aanvraag disk I/O ed.) uit over een hoop, terwijl het er anders maar een is. Ook kun je variabele wachttijd besparen doordat je anders maar een klein block gebruikt en gecached bijvoorbeeld een hele.

Maar het voordeel zit hem denk niet in dat DELAYED buffered, maar dat ie direct door gaat. De phpcode hoeft dus niet te wachten tot de query klaar is. Hierdoor kan het forum wel aardig door blijven draaien terwijl MySQL bezig is met een dipje :)

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 14:17
Hm, dan kan je dus net zo goed bij alles een DELAYED opgeven :P

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op dinsdag 21 mei 2002 08:21 schreef ddc het volgende:
Hm, dan kan je dus net zo goed bij alles een DELAYED opgeven :P
Nee, want dan heb je ineens geen garantie meer 'wanneer het er staat', als jij nodig hebt dat 'blabla X' er al is (bijvoorbeeld voor een foreign key constraint, magoed dat heb je toch niet in mysql) wil je wel dat die er al eerder is.
Ook met auto_increments kan ik me voorstellen dat het fout gaat?

Nog maar te zwijgen over de problemen bij een crash...
Pagina: 1