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
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |