Kom ihåg mig?
Home Menu

Menu


UPDATE och SELECT i samma query (MySQL)

 
Ämnesverktyg Visningsalternativ
Oläst 2011-01-11, 20:06 #1
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
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
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 12:55.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017