FAQ |
Kalender |
|
![]() |
#1 | ||
|
|||
Klarade millennium-buggen
|
Linuus; jag säger som nosnaj, har du problem med prestanda på en sån fråga du ställer någon enstaka gång så har du troligen major problem med index.
Detta är et typexempel på en fråga som man aldrig spara resultatet av utan att man tar fram den vid behov. Så här skulle jag kunnat gjort för att lösa uppgiften (Alla kolumner i WHERE satsen ska givetvis vara indexerade på rätt sätt): Kod:
SELECT Brand_id, Brand, ( select IFNULL(count(*),0) FROM products where brand.brand_id = products.brand_id ) AS Antal FROM Brands Då visas alla brand du har och antalet förekomster/Tupler oavsett om det är null eller inte. Det är rent BS att subselectar skulle vara långsamma! Jag har använt 8 subselect i en dynamisk SQL-fråga mot en tabell med joinar från flera andra tabeller med drygt 200 000 personuppgifter (ett 40 tal kolumner med massor av persondata) och den var blixtsnabb. Jag använde MS-SQL server 6.0 då Senast redigerad av Conny Westh den 2011-01-11 klockan 20:14 |
||
![]() |
![]() |
Svara |
|
|