- MWC 2026: Két fülhallgatóval bővült a Motorola tartozékainak kínálata
- MWC 2026: Kezünkben a frissen bemutatott Motorola Edge 70 Fusion
- MWC 2026: Két új Motorola telefon kapott foci-vb különkiadást
- MWC 2026: Végre mindent tudunk a Motorola Razr Foldról
- MWC 2026: Xiaomi roller, nyomkövető, fülhallgató, aksi is jöttek
- Android alkalmazások - szoftver kibeszélő topik
- Apple iPhone 17 Pro Max – fennsík
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- MWC 2026: Kezünkben a frissen bemutatott Motorola Edge 70 Fusion
- Xiaomi 17 Ultra - jó az optikája
- Samsung Galaxy A54 - türelemjáték
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Vivo X300 - kicsiben jobban megéri
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
Ú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
- MWC 2026: Megérkezett a Xiaomi Pad 8 sorozat
- sziku69: Fűzzük össze a szavakat :)
- Android alkalmazások - szoftver kibeszélő topik
- Spórolós topik
- Luck Dragon: Asszociációs játék. :)
- Kerékpárosok, bringások ide!
- Sorozatok
- Vicces képek
- Melyik tápegységet vegyem?
- Apple iPhone 17 Pro Max – fennsík
- További aktív témák...
- Dell P3421W - (3440x1440 , PBP/PIP,KVM,USB-C)
- MSI Vanguard SOC RTX 5080 16GB (2 év garancia)
- Gainward 4060Ti Ghost 8GB / 11 Hónap Alza.hu Garancia / Beszámítás OK!
- BONTATLAN Új Ipad 10th , 11th Minden szín 1év hivatalos Apple Garancia AZONNAL ÁTVEHETŐ DEÁK TÉRNÉL.
- BONTATLAN Új Iphone 17 256-512GB Minden Szín 1év APPLE garancia gyári független Deák AZONNAL Átvehet
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

