1 2 3 4 5 6 7 8 9 10 | SELECT `pix`.*, `pix_tags`.`tag` FROM `pix_tags` LEFT JOIN `pix_tags_links` ON `pix_tags_links`.`tag_id` = `pix_tags`.`tag_id` LEFT JOIN `pix` ON `pix`.`pix_id` = `pix_tags_links`.`pix_id` WHERE `pix_tags`.`tag` LIKE '%cool%' AND `pix`.`adult` = 'n' LIMIT 0,20 |
Je doetquote:Op woensdag 16 februari 2011 08:57 schreef Chandler het volgende:
Pff mijn import is voltooid en heb nu de volgende query; die er volgens mij nog steeds lang over doet.
[ code verwijderd ]
deze duurt wel 0.3 seconden voor maar 241K tags / 1.500k aan tag_links
Kan ik deze nog verder optimaliseren?
1 | SELECT `pix`.*, |
Oke, naja viel te proberen. Je query is eigenlijk ook helemaal niet zo lang en haalt maar 20 records op.quote:Op woensdag 16 februari 2011 09:19 schreef Chandler het volgende:
klopt er zouden een paar kolommen af kunnen maar zou niet weten of dat echt wel een besparing oplevert (extreme besparing)... maar zal het proberen!
-edit-
geprobeerd totaal geen extra preformance winst
Met goedgeplaatste indices moet je een eind kunnen komen, volgens mijquote:Op woensdag 16 februari 2011 08:57 schreef Chandler het volgende:
Pff mijn import is voltooid en heb nu de volgende query; die er volgens mij nog steeds lang over doet.
[ code verwijderd ]
deze duurt wel 0.3 seconden voor maar 241K tags / 1.500k aan tag_links
Kan ik deze nog verder optimaliseren?
quote:WHERE `pix_tags`.`tag` LIKE '%cool%'
1 2 3 | <?php $query = "SELECT agenda_id, agendatitel, agendaplaats, from_unixtime(agendadatum, '%d-%m-%Y') AS datum, agendabeschrijving FROM agenda WHERE agendadatum >= NOW() ORDER BY agenda_id ASC"; ?> |
Hij zet de datum als unix_timestamp in een varchar veld.quote:Op woensdag 16 februari 2011 14:51 schreef remi1986 het volgende:
Werken datum velden in MySQL niet in Y-m-d formaat?
1 2 3 | <?php strtotime(date("Y-m-d")); ?> |
1 | from_unixtime(agendadatum, '%d-%m-%Y') AS datum |
1 | WHERE agendadatum >= NOW() |
Nee, want als je daar agendadatum van maakt gaat hij vervolgens WHERE doen op de unixtimestamp die al is omgezet volgens mij.quote:Op woensdag 16 februari 2011 14:58 schreef remi1986 het volgende:
Overigs doe je
[ code verwijderd ]
en
[ code verwijderd ]
moet dat dan niet datum zijn i.p.v. agendadatum?
1 | SELECT from_unixtime(timestamp, '%d-%m-%Y') AS datum FROM test WHERE timestamp <= NOW() |
Een unix timestamp is gewoon een getal, kan dus prima in een INT-veldquote:Op woensdag 16 februari 2011 14:52 schreef Emery het volgende:
[..]
Hij zet de datum als unix_timestamp in een varchar veld.
Ik heb je topic meerdere keren door gelezen maar kan niet vinden wat ik fout doe!quote:Op woensdag 16 februari 2011 10:33 schreef GlowMouse het volgende:
[..]
http://gathering.tweakers.net/forum/list_messages/1429432
Dat sluit mijn db-opzet niet uit.quote:Op woensdag 16 februari 2011 18:04 schreef Chandler het volgende:
Dat heb ik ook, maar ik heb meerdere tags per plaatje
quote:Op woensdag 16 februari 2011 10:46 schreef Light het volgende:
Chandler, LIKE %cool% komt op hetzelfde neer als de Dikke Van Dale pakken en alle woorden waar een Q in staat opzoeken. Dat moet je niet willen.
1 2 3 4 5 6 7 8 9 10 | <?php $mktijd = mktime($maand, $dag, $jaar); $sql= "INSERT INTO agenda (agendatitel, agendaplaats, agendadatum, agendabeschrijving) VALUES ('" . mysql_real_escape_string($agendatitel) . "', '" . mysql_real_escape_string($agendaplaats) . "', '" . mysql_real_escape_string($mktijd) . "', '" . mysql_real_escape_string($agendabeschrijving) . "')"; ?> |
Lijkt me sterk dat het daaraan ligt? Hij deed het vanmiddag gewoon goed en toen heb ik ook geen 0,0,0 gebruikt. Overigens is nu opeens de webserver van de website waar ik aan het testen ben down. Godver.quote:
Enigste wat me opviel. Verder weet ik het ook nietquote:Op donderdag 17 februari 2011 01:51 schreef Emery het volgende:
[..]
Lijkt me sterk dat het daaraan ligt? Hij deed het vanmiddag gewoon goed en toen heb ik ook geen 0,0,0 gebruikt. Overigens is nu opeens de webserver van de website waar ik aan het testen ben down. Godver.
quote:mktime() returns the Unix timestamp of the arguments given. If the arguments are invalid, the function returns FALSE (before PHP 5.1 it returned -1).
Haha ongeveer wel ja. Maar toen dacht ik nog dat het aan de INSERT lag. En niet aan het update script. Nou ja, bedankt voor het meedenken!quote:Op donderdag 17 februari 2011 02:29 schreef Tegan het volgende:
Haha, dus mijn eerste opmerking was de fout.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |