Hirdetés
- Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál...
- Samsung Deskmaster 386s/20n
- Keychron K1 V6 Bluetooth/USB-C magyar low profile mechanikus gamer billentyűzet
- Agglegénykonyha 7 – Még egy megosztó – de gyors – étel: resztelt máj
- Amikor a prófécia testet ölt – Finalmouse ULX Prophecy 'Scream' Classic
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Meggyi001: Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál...
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- ricshard444: iPhone 17 Pro Max - Kedves téglám
- sidi: Samsung Deskmaster 386s/20n
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Gurulunk, WAZE?!
- MasterDeeJay: MSI H110M PRO és i3-8350K (coffeetime mod)
Új hozzászólás Aktív témák
-
Taci
addikt
válasz
sztanozs #5126 üzeneté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
(valami régi kódból maradt benne a neve, a feed_id az az item_id az index nevében)
Mivel itt azt mondja, hogy az items_categories táblán nem használ indexet (key = NULL), ezért arra gondoltam, akkor létre hozok egy covering indexet ide:
CREATE INDEX idx_category_id_item_id ON items_categories (category_id,item_id)
A sebességen nem javított, de most már így néz ki az explain:
----------
SELECT i.item_id, i.item_date
FROM items as i INNER JOIN items_categories AS c ON i.item_id=c.item_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, i.item_date
ORDER BY i.item_date DESC LIMIT 4
Itt ha a
GROUP BY i.item_id, i.item_date
helyettGROUP BY i.item_id
van, akkor ennyi a változás:De időben semmit nem jelent.
-
Taci
addikt
válasz
sztanozs #5126 üzenetére
Mondjuk egy-egy execution plan-t jó volna látni mindegyikre...
Ezekre a fajta információkra gondolsz (a lekérdezés egyes részei mennyi ideig futottak, használt-e indexeket stb.), amit az Explain és a Profiling ad? (Google-ön rákeresve az execution plan-re phpMyAdminban ezeket dobta fel.)
Mert akkor megcsinálom.
-
bambano
titán
válasz
sztanozs #5126 üzenetére
"az indexet növekvő sorrendben hozza létre így az index végén levő (legnagyobb értékek) rögtön rendelkezésre kell álljanak": szemben azzal, ha csökkenő sorrendben hozza létre, mert akkor az index elején áll rendelkezésre a legnagyobb érték.
normálisan az indexet egyféleképpen kell létrehozni, és ha csökkenő a lekérdezés, akkor egyszerűen reverse scan-t csinál. legalábbis a postgres ilyen, hogy más adatbáziskezelők mit csinálnak, nem tudom.
Új hozzászólás Aktív témák
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- REFURBISHED és ÚJ - HP Thunderbolt Dock G2 230W docking station (3TR87AA)
- Xiaomi 12T Pro 5G 256GB // Számla+Garancia//
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest