Új hozzászólás Aktív témák
-
Taci
addikt
válasz
martonx
#5067
üzenetére
Megvan a "bűnös": az ORDER BY.
SELECT DISTINCT *FROM feeds AS fJOIN feed_item_categories AS ficON f.feed_id = fic.feed_idJOIN categories AS cON c.category_id = fic.category_idWHEREc.category_id NOT IN (1,3,13,7,20)ANDf.feed_id NOT IN (101,456,3566,32345,56432,223444,344456)ORDER BY f.feed_date DESC LIMIT 4Ha benne van: Showing rows 0 - 3 (4 total, Query took 19.2113 seconds.)
Ha nincs benne: Showing rows 0 - 3 (4 total, Query took 0.0541 seconds.)Pedig indexelt a feed_date.
Amikor explain-nel megkérdezem, mi történik, ezt mondja:
table: f
type: index
possible_keys: PRIMARY
key: feed_date
rows: 298917
Extra: Using where; Using index; Using temporary; Using f...A "régi" lekérdezést miért nem lassítja be az ORDER BY?
SELECT * FROM feedsWHERE(feed_category NOT LIKE '%cat1%'OR feed_category NOT LIKE '%cat2%'OR feed_category NOT LIKE '%cat3%'OR feed_category NOT LIKE '%cat4%')ORDER BY feed_date DESC LIMIT 4(Nem pont ugyanazt csinálja, mint a felső, csak azért másoltam be, hogy meglegyen, melyik a "régi".)
0.3591 seconds
Egyértelműen látszik, mennyivel gyorsabb a JOIN-os megoldás, de az a baj, hogy, hogy kell az ORDER BY - vagy legalábbis az lenne a fontos, hogy a leszűkített (WHERE) rekordlista teljes tartalmát időrendileg csökkenő sorrendben kell visszaadnom, négyesével.
Ezért csináltam úgy már eredetileg is, hogy megvan a feltételek alkalmazása (WHERE), aztán a találati lista rendezése (ORDER BY), aztán az első 4 listázása.
Aztán következő lekérdezésnél ugyanígy, csak a már korábban kilistázott elemek kizárása (id NOT IN...).Tudnátok tanácsot adni, kérlek?
Új hozzászólás Aktív témák
- Eladó Logitech G29 + Logitech H váltó!
- P1 Gen6 16" FHD+ IPS i7-13800H RTX A1000 32GB 1TB NVMe ujjlolv IR kam gar
- T14s Gen2i 14" FHD IPS i7-1165G7 16GB 512GB NVMe ujjlolv IR kam új akku gar
- T14s Gen1 14" FHD IPS érintő Ryzen 7 PRO 4750U 16GB 256GB NVMe ujjlolv IR kam gar
- Vadonatúj iPhone 14 PRO 256GB space black KÁRTYAFÜGGETLEN! 2027 január 15-ig Apple garancia!!!
- Gamer PC-Számítógép! Csere-Beszámítás! I5 6600K / 16GB DDR4 / GTX 1660 6GB / 128SSD + 1TB HDD
- Intel Processzorok sok db : Xeon E5-1620V3, Pentium G4400T, i3 6100, i3-4130, i3-2140T
- Honor Pad X8 / 4/64GB / Wi-Fi / 12 Hó Garancia
- Katonai Rugged laptopok Panasonic Toughbook és Getac S410 6-11.gen gar.
- Xiaomi 13T 256GB,Átlagos,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

