abonnement Unibet Coolblue
  donderdag 10 november 2011 @ 13:57:31 #26
75592 GlowMouse
l'état, c'est moi
pi_104200745
quote:
0s.gif Op donderdag 10 november 2011 13:51 schreef ursel het volgende:

[..]

Heb je daar ook mooie tutorials voor qua settings? :7
Er is heel veel leesvoer, maar let vooral op de bufferpoolgrootte, op innodb_flush_log_at_trx_commit =2 (tenzij je een raid controller met bbu hebt, dan 1), innodb_flush_method = O_DIRECT, innodb_file_per_table, en bij een ssd nog wat andere settings. Let ook op dat je minimaal 5.5 gebruikt, en bij voorkeur een Percona-build omdat je daarmee veel meer kunt meten. Al is dat laatste bij 256 MB wellicht niet echt wenselijk omdat al die metrics ook een klein beetje geheugen gebruiken.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104200994
quote:
0s.gif Op donderdag 10 november 2011 11:18 schreef GlowMouse het volgende:
InnoDB is heel vaak de betere keuze. De configuratie moet je dan wel op je data en op je hardware afstemmen, en niet zo van pastebin plukken.
Ik heb niet de config van pastebin geplukt, ik heb de config van de eigenaar van pastebin :*

En natuurlijk afgesteld op de beschikbare hardware(die kwam aardig overeen)
💍 💍 💍 💍 💍 💍 🍌 ☎
  donderdag 10 november 2011 @ 14:17:16 #28
58834 Catbert
The evil HR Director.
pi_104201378
quote:
0s.gif Op donderdag 10 november 2011 13:40 schreef GlowMouse het volgende:
Je hebt nooit een rowcount nodig. Een rowcount bestaat ook helemaal niet.
MyISAM houdt gewoon bij hoeveel rows er in een table zitten. Een simpele SELECT COUNT(*) FROM table wordt dan uitgevoerd door uberhaupt niet naar de table te kijken maar gewoon die rowcount terug te geven. Natuurlijk een enorm simpele usecase die niet vaak voor zal komen, en ik geloof best dat InnoDB in veel gevallen de beste oplossing is (alleen al om de row-locking), maar ik vind het wat kort door de bocht om te stellen dat dat altijd zo is.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  donderdag 10 november 2011 @ 14:22:13 #29
75592 GlowMouse
l'état, c'est moi
pi_104201529
quote:
0s.gif Op donderdag 10 november 2011 14:17 schreef Catbert het volgende:

[..]

MyISAM houdt gewoon bij hoeveel rows er in een table zitten. Een simpele SELECT COUNT(*) FROM table wordt dan uitgevoerd door uberhaupt niet naar de table te kijken maar gewoon die rowcount terug te geven.
je leest niet goed ;(
quote:
0s.gif Op donderdag 10 november 2011 14:04 schreef Pizzalucht het volgende:

[..]

Ik heb niet de config van pastebin geplukt, ik heb de config van de eigenaar van pastebin :*
groot verschil ;(
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104201582
quote:
0s.gif Op donderdag 10 november 2011 13:40 schreef GlowMouse het volgende:

[..]

Je hebt nooit een rowcount nodig. Een rowcount bestaat ook helemaal niet.

[..]
quote:
256MB geheugen komt nergens voor. InnoDB kan er prima mee werken, maar verwacht net als bij MyISAM geen goede performance als je regelmatig data moet lezen die niet in je geheugen staat.
Op mijn vps wel :P

De memoryfootprint van innodb is veel hoger dan die van myisam, vandaar mijn vraag.
  donderdag 10 november 2011 @ 14:29:13 #31
75592 GlowMouse
l'état, c'est moi
pi_104201757
met geheugentekort kan innodb juist heel goed presteren mbv page-compressie
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104224137
Ik kom ergens niet uit.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
   $sql 
"SELECT 
                pagina.id AS paginaid, 
                pagina.title AS paginatitle, 
                pagina.link AS paginalink,
                buttons.button_id AS button_id,
                buttons.id AS id
            FROM 'pagina'
            JOIN  buttons
            ON pagina.id = buttons.id
            ORDER BY `paginatitle`  ASC;"
;
?>

Ik heb een tabel 'buttons' met button_id en id en een tabel 'pagina' met id, title en link.
Nu wil ik de buttons laten zien en dan uit de tabel 'pagina' de juiste title en link geven bij het id dat overeenkomt met die in de tabel 'buttons'.

Blijf een foutmelding krijgen. Het zit in de Query maar ik snap niet waar.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 10 november 2011 @ 22:19:10 #33
75592 GlowMouse
l'état, c'est moi
pi_104224367
FROM 'pagina'

zonder quotes.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104224538
Helaas geen verandering. Ik ben echt een ramp met JOIN.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 10 november 2011 @ 22:23:46 #35
75592 GlowMouse
l'état, c'est moi
pi_104224649
wat is 'de foutmelding' dan?
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104224725
Hij laat mijn if(!$result){ echo "foutmelding" }; zien. Hij kan de query dus niet uitvoeren.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 10 november 2011 @ 22:26:00 #37
75592 GlowMouse
l'état, c'est moi
pi_104224790
zo debug je geen queries
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104225071
Als ik de query draai in mijn phpMyAdmin werkt het gewoon.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_104225257
Goedenavond, ik ben boem-dikkie de klapmongool en ik ga kappen voor vanavond. Ik had nog geen database verbinding op de pagina waar de output moest komen. :') !!!!
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_104225342
:N en dat kan moderator zijn :N :P
Just say hi!
pi_104225420
quote:
0s.gif Op donderdag 10 november 2011 22:34 schreef Chandler het volgende:
:N en dat kan moderator zijn :N :P
Ik moest voor ik moderator werd van B&H en GAM inderdaad eerst een PHP/mySQL toets afnemen en deze met minimaal 95% aan goede antwoorden behalen.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_104225526
quote:
9s.gif Op donderdag 10 november 2011 22:33 schreef boem-dikkie het volgende:
Goedenavond, ik ben boem-dikkie de klapmongool en ik ga kappen voor vanavond. Ik had nog geen database verbinding op de pagina waar de output moest komen. :') !!!!
keer tijd om je db class uit te breiden? Zodat hij dit soort dingen aangeeft.
pi_104226354
quote:
1s.gif Op donderdag 10 november 2011 22:37 schreef Pakspul het volgende:

[..]

keer tijd om je db class uit te breiden? Zodat hij dit soort dingen aangeeft.
Dat heeft niet perse zo veel zin want de hele database class stond nog niet op die pagina.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
  donderdag 10 november 2011 @ 23:00:03 #44
75592 GlowMouse
l'état, c'est moi
pi_104226792
quote:
14s.gif Op donderdag 10 november 2011 22:24 schreef boem-dikkie het volgende:
Hij laat mijn if(!$result){ echo "foutmelding" }; zien. Hij kan de query dus niet uitvoeren.
zulke dingen doe je ook in je db-class
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104226992
quote:
10s.gif Op donderdag 10 november 2011 22:52 schreef boem-dikkie het volgende:

[..]

Dat heeft niet perse zo veel zin want de hele database class stond nog niet op die pagina.
Je moet die db class dan ook gebruiken om queries uit te voeren, dan heb je nooit de kans om een query uit te voeren zonder dat de db class geladen is. :)
pi_104227401
Ah duidelijk. Toch maar eens naar kijken.
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_104258465
1
2
3
4
5
SELECT
  TIME_FORMAT(TIMEDIFF(landingtime,starttime),"%k:%i") 
    AS flighttime
ORDER BY flighttime  <<<<<<---------------
LIMIT 0,10
Is dit een garantie voor een trage query of moet ik een andere oorzaak zoeken waarom mijn query 8 seconden nodig heeft?

(de echte query is wel wat langer maar dit is het enige verschil met een andere query die binnen 0,03 seconden klaar is)

-edit-
Als ik de TIME_FORMAT eruit haal laat hij geen significante verbetering zien. Als ik de ORDER BY eruit haal wel. Het ligt dus aan het sorteren na een TIMEDIFF, dat kost gewoon tijd.
Heeft iemand enig idee hoe ik dat kan verbeteren? Flighttime opslaan in een extra kolom kan natuurlijk, maar misschien is er een makkelijkere optie?

[ Bericht 10% gewijzigd door KomtTijd... op 11-11-2011 20:32:28 ]
  zaterdag 12 november 2011 @ 12:53:35 #48
75592 GlowMouse
l'état, c'est moi
pi_104282605
quote:
0s.gif Op vrijdag 11 november 2011 19:32 schreef KomtTijd... het volgende:

[ code verwijderd ]

Heeft iemand enig idee hoe ik dat kan verbeteren? Flighttime opslaan in een extra kolom kan natuurlijk
Dat moet, met een index erop. Je kunt het resultaat ook 1x/dag berekenen en ergens opslaan, zoveel nieuwe records (niet als in db-records maar als in langste vluchten) zullen er niet komen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_104291609
Dan denk ik dat ik liever voor dat eerste gaat. Worden de andere query's waarschijnlijk ook weer een tikkeltje sneller van.
pi_104318028
Pfft ik ben een hele poos bezig geweest, wel een hoop geleerd over het gebruik van indexen (die index op (firstpilot,secondpilot) had ik veel eerder moeten doen) maar uiteindelijk niet het gewenste resultaat gehaald, de query duurde op zijn minst nog 7 seconden...
Uiteindelijk heb ik een andere optimalisatie gedaan: WHERE flighttime > '01:05:00'. Dat limiteert het aantal vluchten gigantisch aangezien we meestal een maximum vluchtduur van 1 uur aanhouden. De "rondje-om-de-kerk" vluchten komen op deze manier dus niet meer in de top 10, maargoed dat is ook niet zo boeiend.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')