Visa ett inlägg
Oläst 2004-07-07, 11:04 #4
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
Reg.datum: Dec 2003
Inlägg: 1 519
Citat:
Originally posted by Robert@Jul 7 2004, 09:30
Grejjen är den att jag inte vill visa de första xxx resultaten om antalet träffar blev mer än xxx. Jag vill inte visa någonting! Kanske låter icke användarvänligt men det finns andra anledningar till varför jag gör på detta sätt.

Alltså en LIMIT eller TOP har jag ingen direkt användning av.

Uhm, WHERE argument använder jag därför att det är just en sökning, så det blir maximalt 4st LIKE '%xxxxx%' argument + i vissa fall av avancerad sökning även lite JOINS. Så ja, det tar en stund att köra COUNT först... =/
Oj då. Glömde att du inte skulle visa nånting om det blev för många resultat. Men du behöver ju inte stega igenom alla resultaten för att ta reda på hur många det är. I det programmeringsspråk du använder finns det säkert färdig funktion för att se hur många poster du fick i en ställd SQL-fråga.

Så du har benchmark:at tiden det tar att utföra normala COUNT() på olika sökningar och sett att det är segt?

Jag skulle gissa på att det här blir snabbast. Utgår från att det är max 100 st. resultat som ska visas.
1. Gör själva sökningen med LIMIT 101
2. Kontrollera hur många svar du fick.
3. Om det är färre än 101 svar, skriv ut dem. Annars skriv ut felmeddelande.


Det finns bara ett sätt att ta reda på vad som verkligen är effektivast och det är att testa. Slumpa ut 1000 frågor och kör dom på de två olika sätten. Jag kan i alla fall inte komma på något annat revolutionerande smart sätt att göra det på.
kullervo är inte uppkopplad   Svara med citatSvara med citat