Het gaat om mijn statistieken script waarbij ik gemiddeld zó'n 15 queries per load, ik heb werkelijk waar geen idee hoe ik dit zou moeten cachen!quote:Op zaterdag 22 november 2008 11:46 schreef GlowMouse het volgende:
Als je tijdens traagheid geen queries in SHOW FULL PROCESSLIST ziet, dan worden er op dat moment geen queries uitgevoerd. Dat wijst erop dat je gewoon teveel queries doet die wel allemaal heel snel uitgevoerd kunnen worden. Als je ook al praat over 'een berg met queries' dan kan ik wel raden wat er fout gaat. Als iemand een pagina opvraagt, moet je gewoon zorgen dat je met zo min mogelijk en goed geïndexeerde queries toekunt.
Leek mij idd ook nietquote:De slowquerylog heeft met veel maar korte queries ook niet zoveel zin.
Had ik reeds gedaan maar kon er niet echt wijs uit wordenquote:Bij SHOW STATUS is er heel veel waar je op moet letten. Beste is om de handleiding ernaast te houden en iedere waarde te controleren en te kijken of dat een oorzaak kan zijn van traagheid. Dat kan sowieso geen kwaad als je meer van MySQL wilt weten
Jawel, een hele berg zelfs! maar hoezo?quote:Op zaterdag 22 november 2008 12:43 schreef VeerMans het volgende:
Dus je hebt er geen unieke sleutels inzitten?
Je had het over een berg; 15 is niets. Je zult wel geen of slechte indexen hebben staan. Geef maar wat queries, hun EXPLAIN output, en je hele table lay-out (incl geplaatste indices).quote:Op zaterdag 22 november 2008 13:48 schreef Chandler het volgende:
[..]
Het gaat om mijn statistieken script waarbij ik gemiddeld zó'n 15 queries per load, ik heb werkelijk waar geen idee hoe ik dit zou moeten cachen!
Klinkt alsof je veel samengestelde queries gebruikt, en dan kan het maken van indexes op je primaire/vreemde sleutels wel eens heeeel erg veel tijd schelen bij samengestelde queriesquote:Op zaterdag 22 november 2008 13:48 schreef Chandler het volgende:
Jawel, een hele berg zelfs! maar hoezo?
Mag ik dit ook per PM doen, aangezien ik niet mijn hele structuur op het internet beschikbaar wil hebbenquote:Op zaterdag 22 november 2008 15:06 schreef GlowMouse het volgende:
Je had het over een berg; 15 is niets. Je zult wel geen of slechte indexen hebben staan. Geef maar wat queries, hun EXPLAIN output, en je hele table lay-out (incl geplaatste indices).
De tabellen vak en resultaat is dan alles wat je nodig hebt.quote:Op zaterdag 22 november 2008 13:34 schreef Frenker het volgende:
De bedoeling is nu dat ik voor de vakken hardware en systeemontwikkeling per vak het gemiddelde cijfer geef.
1 2 3 4 | FROM vak JOIN resultaat AS res ON res.vak=vak.code GROUP BY vak.naam |
dank je wel, ga ik bekijken.quote:Op zaterdag 22 november 2008 16:18 schreef GlowMouse het volgende:
commentator: zie UNION, maar bedenk dat het je geen betere performance oplevert en overzichtelijkheid in veel gevallen ook ver te zoeken is.
Wat is het type van het veld waar de auto_increment op staat? Als dat bijvoorbeeld TINYINT is, dan is het logisch dat hij niet verder gaat: een TINYINT kan waarden aannemen van -128 tot 127. Dan zou je het type moeten aanpassen naar een groter datatype.quote:Op zondag 23 november 2008 11:19 schreef MrDoegewoon het volgende:
Klein MySQL vraagje,
Op één van m'n websites gaf een script ineens een MySQL error, de auto_increment value bleek op value 127 te hangen.
Ik heb geprobeerd hem te resetten, maar niks hielp. Wel fixte een repair van die tabel het probleem. Maar mijn vraag is, hoe kan dit gebeuren? Dat de auto_increment value blijft hangen.
Of altijd een insert proberen te doen en ON DUPLICATE KEY UPDATEquote:Op zondag 23 november 2008 14:38 schreef Xcalibur het volgende:
het enige juiste antwoord: REPLACE INTO![]()
Zoals hierboven ook al staat: je gebruikt een signed TINYINT datatype (unsigned gaat 'ie tot 255, dus voor auto_increments altijd unsigned gebruiken, dubbele capaciteit en je gaat toch nooit in het negatieve). Lekker INT van maken, kun je er (unsigned) 4294967295 kwijtquote:Op zondag 23 november 2008 11:19 schreef MrDoegewoon het volgende:
Klein MySQL vraagje,
Op één van m'n websites gaf een script ineens een MySQL error, de auto_increment value bleek op value 127 te hangen.
Thanks!quote:Op zondag 23 november 2008 14:38 schreef Xcalibur het volgende:
het enige juiste antwoord: REPLACE INTO
Fout, REPLACE INTO verwijderd eerst het gevonden resultaat en INSERT INTO .. ON DUPLICATE KEY doet dat niet, deze past het resultaat alleen maar aan.quote:Op zondag 23 november 2008 14:38 schreef Xcalibur het volgende:
het enige juiste antwoord: REPLACE INTO
Gezien de vraag lijkt dat geen probleemquote:Op zondag 23 november 2008 15:10 schreef slacker_nl het volgende:
Fout, REPLACE INTO verwijderd eerst het gevonden resultaat en INSERT INTO .. ON DUPLICATE KEY doet dat niet, deze past het resultaat alleen maar aan.
Snap ik, maar vreemde is dat de counter pas op 52 hoorde te staan ipv 127.quote:Op zondag 23 november 2008 14:47 schreef CraZaay het volgende:
[..]
Zoals hierboven ook al staat: je gebruikt een signed TINYINT datatype (unsigned gaat 'ie tot 255, dus voor auto_increments altijd unsigned gebruiken, dubbele capaciteit en je gaat toch nooit in het negatieve). Lekker INT van maken, kun je er (unsigned) 4294967295 kwijt
1 2 3 | <input type="checkbox" name="details" value="1" if($edit_details==1){ echo'checked="checked" disabled="disabled"';} /> ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |