Kan gebeurenquote:Op zondag 1 februari 2009 13:33 schreef GlowMouse het volgende:
Sorry, zag niet dat het pagina zeven was.
1 |
1 |
1 |
stel het gaat om leden en je wil meerdere rijen bijwerken. hoe gaat dit dan in zijn werking?quote:Op zondag 1 februari 2009 16:45 schreef GlowMouse het volgende:
[ code verwijderd ]
Moet je wel zeker weten dat actief altijd 0 of 1 is
Groetjes,
GlowMouse
Hoezo zeker bij MyISAM??quote:Op zondag 1 februari 2009 16:59 schreef GlowMouse het volgende:
Alle id's in een arraytje stoppen, imploden op een komma, en WHERE id IN(" . $ids . ")" gebruiken. Zeker bij MyISAM moet je zoveel mogelijk in één UPDATE-query doen.
Omdat je bij MyISAM voor iedere UPDATE-query de table lockt en daarvoor op alle SELECT-queries moet wachten en zowel tijdens het wachten als tijdens het updaten alle nieuwe SELECT-queries laat wachten. Dat ga je merken als je wat meer bezoekers hebt.quote:
Thanks! Ik wist niet dat dat ook op die manier kan met een update query! Tof, wel!quote:Op zondag 1 februari 2009 16:45 schreef GlowMouse het volgende:
[ code verwijderd ]
Moet je wel zeker weten dat actief altijd 0 of 1 is
Groetjes,
GlowMouse
Ok, dat wisten we niet, weer wat geleerd..quote:Op zondag 1 februari 2009 17:06 schreef GlowMouse het volgende:
[..]
Omdat je bij MyISAM voor iedere UPDATE-query de table lockt en daarvoor op alle SELECT-queries moet wachten en zowel tijdens het wachten als tijdens het updaten alle nieuwe SELECT-queries laat wachten. Dat ga je merken als je wat meer bezoekers hebt.
Die manier is met name handig bij tellertjes. Als je eerst een SELECT en daarna een UPDATE zou doen, heb je kans dat twee vrijwel gelijktijdige requests eerst allebei de SELECT doen en daarna met UPDATE de teller maar met één ophogen in plaats van met twee.quote:Op zondag 1 februari 2009 17:09 schreef veldmuis het volgende:
[..]
Thanks! Ik wist niet dat dat ook op die manier kan met een update query! Tof, wel!
Hmm, klinkt logisch inderdaad. Ik heb nog behoorlijk wat te leren .quote:Op zondag 1 februari 2009 17:11 schreef GlowMouse het volgende:
[..]
Die manier is met name handig bij tellertjes. Als je eerst een SELECT en daarna een UPDATE zou doen, heb je kans dat twee vrijwel gelijktijdige requests eerst allebei de SELECT doen en daarna met UPDATE de teller maar met één ophogen in plaats van met twee.
Dat is dus ook waarom je per tabel moet bekijken of je (bijv.) MyISAM of InnoDB wilt gebruiken. Voor tabellen met veel schrijf- en leesacties kun je InnoDB overwegen; die maakt namelijk gebruik van row locking, en niet van table locking (en ook handig: je kunt transacties gebruiken).quote:Op zondag 1 februari 2009 17:09 schreef ursel het volgende:
Ok, dat wisten we niet, weer wat geleerd..
quote:Op zondag 1 februari 2009 16:44 schreef veldmuis het volgende:
Ik heb een vraag (alweer )
het resultaat van deze query:
[ code verwijderd ]
is een 0 of een 1. Die wil ik omkeren en dan terug in de DB proppen:
[ code verwijderd ]
Ik krijg het niet voor elkaar. Kan ik dit in één query doen? Ik weet hoe een subquery werkt, maar hoe ik een 0 in een 1 kan omtoveren met een subquery weet ik niet. Kan dat sowieso wel?
1 |
1 |
Dan is die ABS() bij actief wel wat overbodig, tenzij actief ook negatief kan zijn. En dat lijkt me weer wat onlogisch.quote:
Maak er dan dit van:quote:
1 |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |