23. september 2003 - 14:38Der er
26 kommentarer og 1 løsning
valg i select
Jeg har lavet mit eget forum, men det skal optimeres lidt. Ved sidenindeling af threads har jeg brug for en metode til at hente et specifikt antal records. Hvis jeg nu har 200+ records sorteret efter dato, og jeg så skal bruge records 40-60, hvordan gør jeg så det?
Min nuværende streng ser sådan her ud: sqlRSThreads = objDB.execute("SELECT * FROM c_posts WHERE postForumID=" + intForumID + " AND postThreadID=0 ORDER BY postSticky,postLastPost DESC");
I know about the *, but I really need all the info. About your answer, I don't need the 200, I need to pick out a range of records in the middle of those records, fx records 40-60 ordered by the criterias.
I'm using the loop at the moment, but there has to be a better of doing it. I can't be more specific in the WHERE part because they all meet the criteria.
pixelpaw>If I knew of a way I would tell you but I cant see HOW you can limit it other than using TOP X!
Lets say you have an SQL which can return 200 records but you only want some of these and they are NOT the just the first 20 or the last 20. HOW do you tell the SQL compiler which ones you want IF it is NOT included in the criteria(WHERE) There is NO function in Access which allows you select the MIDDLE records!
Yes, unless you can include some other criteria to tell Access which ones you want. Make sure all the fields you include in the WHERE are indexed and it should help performance!
Det kan du også sagtens bruge. Du skal bare spørge med de rigtige URLs (minside.asp?n=<%=n-50%> og minside.asp?n=<%=n+50%>), når du skal hente posterne
Men det var ikke meningen med mit spørgsmål. Problemet er, at siden i det tilfælde stadig henter samtlige records (der opfylder WHERE), hvad sløver sitet en smule. Så det er bare en spørgsmål om optimering.
På en aspserver henter du ikke alle records først og sorterer bagefter. Sorteringen foregår på serveren, og uanset, hvordan du gør det, skal du kigge alle records igennem, for at se, hvilke, der skal hentes! Jeg kan ikke forestille mig, at Jet'en kan gøre det væsentligt hurtigere end aspserveren.
No critic intended towards you hekla, only which others would do those same. But actually I would prefer that admin/co-admins used more time to follow up on those who dont close. That way we wouldnt get labeled as "point grisk" just because we want the points we think we have earned :o)
Nogle kloge hoveder herinde har forsøgt at hjælpe dig med dit problem, og når du så erkender at det ikke kan løses på den fancy måde som du gerne vil have, tager du bare alle pointene selv. På Eksperten.dk gives der point efter indsats, ikke efter korrekte svar; det er nu min erfarring...
Specielt har terry forsøgt at fortælle dig, at der ikke findes nogen løsning på dit problem som lever op til dine ønsker.
Og hvis du endelig VIL ha' en egentlig løsning udviklet af proffessionelle, kan du jo prøve at kigge koderne igennem hos fx. AltaVista eller et stort firma med forum som fx. Blizzard...
Begge steder bør du være i stand til at finde det du mangler, og hvis ikke, kan du jo altid spørge dem om hvad de har gjort... Jeg er sikker på at de gerne vil hjælpe dig, hvis du altså spørger pænt, og husker at sige "tak for hjælpen" selvom du ikke fik løsningen... Dette har du forresten gjort her, hvilket sender et signal om at du er ligeglad med den tid som folk investerer på at hjælpe dig...
Der var ikke nogen her der kunne fortælle mig noget, jeg ikke allerede vidste i forvejen. Først lod jeg spørgsmålet stå åbent for at se, om der var andre der kunne hjælpe mig. Derefter glemte jeg alt om spørgsmålet. I dag får jeg så nogle påmindelser ang. spørgsmålet. Jeg sidder og er rimlig stresset, åbner siden, skimter indlægende, ser noget om for mange åbne spørgsmål på eks.dk, svarer og lukker. Ked af hvis jeg har trådt nogle over føderne ved dette, det var bestemt ikke meningen. Pointene er jeg pisse ligeglad med, dem måtte i skam godt få, det gik bare lidt stærkt. Jeg laver et nyt indlæg hvor i kan svare. Og tak for hjælpen! :o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.