Hirdetés
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Szívós, szép és kitartó az új OnePlus óra
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Indiában Philips okostelefonokat is lehet majd választani
- Samsung Galaxy A56 - megbízható középszerűség
- Kis méret, nagy változás a Motorolánál
- Megérkezett a Google Pixel 7 és 7 Pro
- Kapható a strapamobil, aminek kikapcsolása nélkül lehet kicserélni az aksiját
- Bemutatkozott a Poco X7 és X7 Pro
- Külföldi prepaid SIM-ek itthon
Új hozzászólás Aktív témák
-
martonx
veterán
válasz
Brown ügynök
#1314
üzenetére
Ez sok mindentől függ. Mennyire komplex például az index, mennyi indexed van a táblán stb...? Ha komplex, és sok az index akkor az írást lassítja.
Egy szimpla növekvő int index ellenben nem fog jelentős írás lassulást okozni.
Az írás tűnik lassúnak vagy az olvasás? Mert ha az olvasás a lassú, akkor viszont mindenképpen kell az index, különben nélküle meg megállna az élet. Még ha ez miatt némileg lassul is az írás.
Szóval igazán jó válasz nem biztos, hogy van a kérdésedre.
Kérdés az is, hogy mit értesz azonos mennyiségű írás, olvasásnak? Naponta 100 sort beírsz, és 100 sort ki is olvasol? Vagy hogy naponta 100-szor olvas valamit a táblából, és 100-szor ír valamit a táblába a db motor? Ez esetben a valamit az érdekes, hogy 100-szor beír 1 sort, vagy 100-szor beír 2000 sort?
Ez esetben pl. az írási stratégiáján a programnak érdemes lehet változtatni. -
martonx
veterán
válasz
Brown ügynök
#1312
üzenetére
Azt azért tartsd észben, hogy a MySQL optimalizációnál erősen meglőnek, ha eleve nem jól beállítva telepítik fel.
Úgyhogy vagy neked kell egyben a rendszergazdának, DBA-nak is lenned, vagy utólag simán előfordulhat az az eset, hogy marhára nem fogsz tudni mit optimalizálni, mert a telepítéskor elcseszett setup miatt egyszerűen mindeféle diagnosztizáló funkció le van tiltva rajta.
És ezeken utólag nagyon nem szeretnek a rendszergazdák változtatni. -
Peter Kiss
őstag
válasz
Brown ügynök
#1306
üzenetére
Ha már optimalizálás, ma találkoztam egy problémával, egy drop down list-et, amiben 2000 elem volt kb. 8000 SQL lekérdezéssel (mindegyikhez volt 4) töltött fel egy hülyegyerek. Újraírtam, hogy lejöjjön egyben.

-
martonx
veterán
válasz
Brown ügynök
#1306
üzenetére
Mondjuk jobban utána gondolva az e pont azért okozhat némi teljesítmény problémát (MySQL sosem volt sebesség bajnok, pláne nem a korai verziói), illetve bizonyos esetekben a d pont is bezavarhat, bár ezt nem tartom túl valószínűnek.
-
Peter Kiss
őstag
válasz
Brown ügynök
#1303
üzenetére
Elsőre szar lekérdezések (és indexek), illetve rosszul beállított szerver. Az a baj, hogy ezt már tényleg látni kellene.
-
Apollo17hu
őstag
válasz
Brown ügynök
#1256
üzenetére
A stock_intake_item és a stock_intake táblát összevonhatnád. Utóbbi csak egy időpecsétet tartalmaz, felesleges szétszedni. Lenne a kettőből egy táblád, ami megmutatja, hogy adott napon adott termékből hány darab került be.
Hasonlóan kellene tenni a stock_reservation_item és stock_reservation táblákkal.
IN helyett elvileg JOIN-olhattad volna a stock_intake táblát. Úgy, ahogy a stock_reservation táblát is bekötötted.
-
Apollo17hu
őstag
válasz
Brown ügynök
#1256
üzenetére
Első ránézésre nem igazán menő, hogy IN után allekérdezést használsz. Ha kicsit több időm lesz, megnézem a kódot, de ha az eredmény jó neked, akkor nagy gond nem lehet.

-
Apollo17hu
őstag
válasz
Brown ügynök
#1253
üzenetére
Akkor szerintem 2 tábla kellene:
BEVITEL: termék | mikor | mennyit
FOGLALÁS: termék | mikor | mennyitEzeket "termék"-en keresztül kötöd össze, a két "mikor"-ra szűrsz, a "mennyit" mezőt pedig aggregálod (GROUP BY).
Egy táblában is meg lehetne oldani (ahogy neked most a főtáblád tárolja az adatokat) kötések nélkül:
TÁBLA: termék | bevitel_mikor | bevitel_mennyit | foglalás_mikor | foglalás_mennyit
Ebben az esetben viszont vagy a "bevitel_mikor" és "bevitel_mennyit" vagy a "foglalás_mikor" és "foglalás_mennyit" mezők értéke lenne null, tehát feleslegesen nőne az adatbázis mérete.
A lényeg, hogy termékazonosítón keresztül lenne célszerű kötni.
-
Apollo17hu
őstag
válasz
Brown ügynök
#1250
üzenetére
Kellene egy mező, ami megmondja, hogy a stock_product_history táblában mely intake_id-k mely reservation_id-kkal vannak kapcsolatban. (Kapcsolat esetén a mező értékének egyeznie kell a két rekordnál.)
Szerintem ezt lehet egyszerűsíteni, de nem teljesen értem, hogy mi a végcél. Talán egy olyan táblából kellene kiindulni, ahol az intake_id és a reservation_id egy soron szerepelnek, és csak akkor vannak töltve, ha a tényleges esemény (bevitel vagy foglalás) megtörtént. Nem tudom, hogy az események között van-e valamiféle időbeli sorrendiség, de előfordulhat, hogy mondjuk volt már foglalás, de azt nem vitték még be (ekkor utóbbi értéke null). Vagy az intake nem erre vonatkozik?
Ha ez tisztázódott, utána lehet a product, store stb. mezőket hozzáadni a modellhez.
-
Apollo17hu
őstag
válasz
Brown ügynök
#1248
üzenetére
Akkor a stock_product_history táblában nincs olyan rekord, ahol az intake_id beköti a stock_intake, a reservation_id pedig a stock_reservation táblát.
-
Apollo17hu
őstag
válasz
Brown ügynök
#1246
üzenetére
A LEFT JOIN miatt van: a stok_intake tábla minden rekordja bekerül. Használj helyette INNER JOIN-t, ami a táblák metszetét adja eredményül.
-
biker
nagyúr
válasz
Brown ügynök
#1213
üzenetére
ja, bocsi, tényleg

-
martonx
veterán
válasz
Brown ügynök
#1213
üzenetére
A kivétel táblát subquery-ként kellene hozzácsapnod, mert így descartes szorzat keletkezik a product_id-k alapján.
-
biker
nagyúr
válasz
Brown ügynök
#1211
üzenetére
nincs it semmi gond, az 1-es termékből nem adtál el, ezért az null
a többiből igencsinálj egy harmadik oszlopot a selectbe, amiben a két oszlop különbsége van!
talán így működhet? (vessző kimaradt
)SELECT i.product_id, SUM( i.quantity ) , SUM( d.quantity ), (SUM( i.quantity ) - SUM( d.quantity ) ) as diff
FROM `stock_intake_item` i
LEFT JOIN stock_deliver_item d ON d.product_id = i.product_id
GROUP BY i.product_id -
sonar
addikt
válasz
Brown ügynök
#702
üzenetére
Nem igazán jött be

-
zka67
őstag
válasz
Brown ügynök
#683
üzenetére
Köszi, de ez nem jó nekem. Azt szeretném, hogy a MySql adja vissza egy mezőben a sorok számát. Olyasmi kellene nekem mint a COUNT() ...
-
válasz
Brown ügynök
#676
üzenetére
Először is kösz a választ, de nem jó a tipp...
Elnézést, csak szétb...sz az ideg ez miatt, és kicsit nagyon leegyszerűsítettem a kérdést. Szóval tudom a hiba okát: az a változó nem létezik 4.1-es mysql előtt. Na most amikor beszéltem az illetékes elvtárssal, érdeklődve többek közt a mysql verzió felől, akkor azt nyilatkozta, hogy a legújabbat használják. Most meg kiderült, hogy 4.0.24-es...
A problémát még tetézi, hogy egy fórum motort használtam, ha szerencsém lesz, akkor utólag tudok módosítani 4.0-ás mysql kompatibilitásra...
Nyilván a szolgáltatót nem kötelezhetem, hogy cseréljen mysql-t(bár illene)Szóval a kérdés inkább úgy lett volna jó, hogy van-e valamilyen konverter, bármi, amivel a meglévő adatbázisokat "visszabutíthatnám"...
Még1x, elnézést a nagyon leegyszerűsített kérdésért...
Új hozzászólás Aktív témák
- Garancia kérdés, fogyasztóvédelem
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Melyik tápegységet vegyem?
- One otthoni szolgáltatások (TV, internet, telefon)
- Tesla topik
- Éjszakai műszak
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- PROHARDVER! feedback: bugok, problémák, ötletek
- Házimozi belépő szinten
- További aktív témák...
- Lenovo ThinkPad P1 Gen 4 i7 32GB RAM 512GB SSD NVIDIA T1200 16 2560 1600 Garancia
- Dell Precision 7550 i7 32GB RAM 512GB SSD NVIDIA Quadro T1000 FHD
- Dell Precision 5560 i7 32GB RAM 512GB SSD NVIDIA RTX A2000 FHD+
- BOMBA áron eladó új Microsoft Surface Laptop 4 garanciával! AMD Ryzen 5 /16GB /256 SSD/TOUCH/13.5"/
- Dell Latitude 7420 i7 / 32GB /1TB SSD / FHD IPS
- Á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 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASRock B450M R5 5500 16GB DDR4 512GB SSD RX 6600XT 8GB Zalman Z1 NEO ADATA 600W
- Nuki Smart KeyPad 1 okos zár kiegészítő
- Gamer PC-Számítógép! Csere-Beszámítás! R7 2700X / GTX 1080Ti / 16GB DDR4 / 512 SSD!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő






