Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Geri Bátyó: Agglegénykonyha 7 – Még egy megosztó – de gyors – étel: resztelt máj
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Gurulunk, WAZE?!
- sh4d0w: Én és a számítógép
- Magga: PLEX: multimédia az egész lakásban
- koxx: Amikor a prófécia testet ölt – Finalmouse ULX Prophecy 'Scream' Classic
- Mr Dini: Mindent a StreamSharkról!
- Brogyi: CTEK akkumulátor töltő és másolatai
Új hozzászólás Aktív témák
-
Taci
addikt
válasz
bambano #5104 üzenetére
Talán ez lehet a jó irány...
Most így néznek ki a lekérdezések:
Az "eredeti" (a javasolt változtatásod előtti):
SELECT i.item_id, i.item_date
FROM items AS i
JOIN items_categories AS ic
ON i.item_id = ic.item_id
JOIN categories AS c
ON c.category_id = ic.category_id
WHERE
c.category_id NOT IN (1,3,13,7,20)
AND
i.item_id NOT IN (117,132,145,209,211)
GROUP BY i.item_id
ORDER BY i.item_date DESC LIMIT 4
Showing rows 0 - 3 (4 total, Query took 10.8688 seconds.)
A categories tábla kivétele a Join-ból:
SELECT i.item_id, i.item_date
FROM items AS i
JOIN items_categories AS ic
ON i.item_id = ic.item_id
WHERE
ic.category_id NOT IN (1,3,13,7,20)
AND
i.item_id NOT IN (117,132,145,209,211)
GROUP BY i.item_id
ORDER BY i.item_date DESC LIMIT 4
Showing rows 0 - 3 (4 total, Query took 5.0478 seconds.)
A subquery-s megoldás (WITH-et nem engedett használni, így most ezt a megoldást találtam a "helyettesítésére"):
SELECT item_id, item_date
FROM items
WHERE
item_id IN (select item_id from items_categories where
category_id not in (1,3,13,7,20) and
item_id not in (117,132,145,209,211))
ORDER BY item_date DESC LIMIT 4
Showing rows 0 - 3 (4 total, Query took 0.7163 seconds.)
(És ide már nem is kell a Group By.)
Frissítettem a db-fiddle-t vele.
Mind a 3 változat ugyanazt a 4 rekordot adja vissza, helyesen.
Ez utóbbi, az általad javasolt valóban sokkal gyorsabb - bár (lehet, az én implementálásom miatt) még így is lassú (0,8 mp környéki lekérdezés).
(Furcsa mód ha kiveszem az Order By-t belőle (ami eddig csak lassította), a 0,8 mp-ből 6,6 mp lesz...)De ezzel talán már el lehet indulni ebbe (subquery) irányba.
Még valami ötlet esetleg ehhez az irányhoz?Köszönöm a tippeket és hogy ránéztél!
Új hozzászólás Aktív témák
- Csúcshálózat: ROG STRIX GS-BE18000 router tesztje
- Gyúrósok ide!
- Kamionok, fuvarozás, logisztika topik
- Álláskeresés, interjú, önéletrajz
- Apple iPhone 17 - alap
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- További aktív témák...
- Alienware AW3423DWF Ívelt Gamer Monitor!34"/QD-OLED/165hz/0,1ms/10BIT/Freesync-G-sync/Alien FX
- Iphone 15 Pro Max 512GB Natúr titán
- DELL Latitude 5520 Strapabíró Érintős Laptop 15,6" -65% i7-1185G7 16/512 Iris Xe FHD IPS
- Intel Core i7 10700/RTX3060/16Gb ram/256Gb SSD
- DELL Latitude 5520 Strapabíró Érintős Laptop 15,6" -65% i7-1185G7 16/512 Iris Xe FHD IPS
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- 2 db (130 / 131) - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- Jo Nesbo: LEOPÁRD (nem olvasott)
- GYÖNYÖRŰ iPhone 12 Pro 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3438, 94% Akkumulátor
- Bowers & Wilkins Px7 S2 fejhallgatók
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest