SQL-tips

Henrik Jansson - 2009/02/23


Hittade ett tips till när man ska forma SQL-frågor som innehåller OR för stora tabeller:

SELECT * FROM t1 FORCE INDEX (key1_key2_key3)
WHERE key1=1 OR key1=2 ORDER BY key2,key3 LIMIT 5, 5;

This can be worked around by using UNION:

(SELECT * FROM t1 FORCE INDEX (key1_key2_key3)
WHERE key1=1 ORDER BY key2,key3 LIMIT 10)
UNION
(SELECT * FROM t1 FORCE INDEX (key1_key2_key3)
WHERE key1=2 ORDER BY key2,key3 LIMIT 10)
ORDER BY key2,key3 LIMIT 5, 5

This rewrite can make the query go ~20000 times faster on a table with ~2M rows.

Taget från dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html


Skriv ut artikeln SQL-tips













Produkter

Som kund hos West Art Communication AB får ni full tillgång till vår stora kompetens och långa erfarenhet inom kundanpassade webblösningar och applikationer.

Studio
Studio Är det perfekta verktyget för dig som snabbt och enkelt vill kunna administrera innehållet på din hemsida.<
Xpos
XPOS är ett system för att hantera reklamationer online. Varumärken som Philips och OBH Nordica är anslutna.<
XLetter
Xletter hjälper dig skicka ut designade nyhetsbrev, och även följa upp dessa med statistik.<
» Se alla våra produkter

Kontakta mig

Namn:
Stefan Juhnell
Områden:
Flashtidning, Webbsidor, XPOS
Telefon: +46 (0)735 05 55 88
Mail: stefan@westart.se

» Se alla våra medarbetare
Följ oss på Twitter klicka här

om oss våra tjänster kontakta oss

West Art Communication AB
Org.nr: 556665-9107
Telefon: 0176-65 52 70
E-mail: info@westart.se

Adress:
Astrid Lindgrens gata 12
SE 761 46 Norrtälje
Sweden

 

Sök: