Hirdetés
- Ne várj sokat a vásárlással: drágulás a láthatáron
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen billentyűzetet vegyek?
- Újra nekifeszül az asztali konzolok piacának a Valve
- Fejhallgató erősítő és DAC topik
- Gigantikus fordulatot vett a GeForce RTX 50 Super sorozat törlése
- Még sokáig drágák maradnak – sőt, tovább drágulnak – az SSD-k
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Hobby elektronika
- Vezetékes FEJhallgatók
Új hozzászólás Aktív témák
-
laracroft
senior tag
válasz
Peter Kiss
#1778
üzenetére
~15000
-
martonx
veterán
válasz
Peter Kiss
#1657
üzenetére
Jogos, a default mysql szerver beállítások egy kalap szart se érnek

-
balaaa88
aktív tag
válasz
Peter Kiss
#1600
üzenetére
Hát nincs mögöttem szerencsére (?) 10, de még 5 év tapasztalat sem, de most már tudom, hogy ezzel (is) óvatosan. Konkrétan lehalasztotta az egész ESXi-t a dolog. Illetve önmagán kívül még egy gépet kinyírt, de azt szerencsére hard reset után rendben visszajött. A MYSQL szervert meg szépen visszaállítottam 3 nappal korábbra (szerencsére magyarázkodni nem kell), aztán most az is fut szépen, de ha a jövőben ilyet csinálok, megnézem, hogy mekkorák a táblák már ugyan.

-
Diopapa
addikt
válasz
Peter Kiss
#1578
üzenetére
Nagyon köszönöm a PM-ben nyújtott segítséged is!

-
fordfairlane
veterán
válasz
Peter Kiss
#1417
üzenetére
Mi kérünk elnézést?
Jah, hát lassan ott tart a dolog.
-
biker
nagyúr
válasz
Peter Kiss
#1417
üzenetére
Kérlek mutasd meg a hirdetésem, mert az aláírásban lévő szöveg, ami nem is link, körítés nélkül nehezen értelmezhető szolgáltatás hirdetésként, fikaverseny győztese cím ezennel a tied
-
biker
nagyúr
válasz
Peter Kiss
#1408
üzenetére
nem minden alkalmazás lényege a rugalmasság. ez is egy szempont, de nem mindenek feletti.
Ezen túl külön tábla csak azoknak jár, amit garantáltan többször felhasználunk és/vagy sűrűbben írjuk6olvassuk mint a termékek táblát (kategóriák, értékelések, statisztikák, kosárban lévő cikkek, korábban vásárolt cikkek, stb)
de mondd már meg, miért nem lehet egy táblában minden termék jellemző?
id, név, rövid leírás, hosszú leírás, cikkszám, szállítói kód, vonalkód, cimkék, kat_id, szállítási idő, áfa osztály, ára, akciós ára, akció eleje, akció vége, eredeti ára, és még fejből nem tudom, mik
te ezt szétdarabolnád? akkor minden darabolással egy redundáns termék_ID oszloppal hízlalod az adatbázist...martonx: nem arról volt szó, kinek az apukája erősebb, és kinek van több tapasztalata, hanem leírtam egy gyakorlati tapasztalatomat, ennyi.
-
biker
nagyúr
válasz
Peter Kiss
#1406
üzenetére
akkor úgy mondom, nem eléggé látványosan gyorsít

egyébként igen, fulltext search miatt kell a match/against, és ez legalább relevancia szerint is tud rendezni, score-ra.
a 30+ oszlop nem tervezési hiba, max egy másik elv...ha van egy termék és 30 jellemzője, akkor mitől jobb 16 táblába szétpakolni és egy segédtáblába mondjuk összeszedni a jellemző><ID párokat, mint egy woocommerce féle webshop esetén?
nálam 150.000 termék 150.000 sor, a woocommerce a széthányt termékjellemzők miatt ugyan 4-5 oszloppal dolgozik, de 15.000 termék 670.000sort foglal el, és lassú mint egy halott disznó a jégen
-
biker
nagyúr
válasz
Peter Kiss
#1403
üzenetére
Sima select/where felallast meg latvanyosan nem is gyorsit az index, tapasztalat
Match/against eseten igazan latvanyos, no meg kovetelmeny is mert csak indexbol dolgozik150.000 soros 30+ oszlopos 250megas tabla keresese index nelkul 6 oszlopra (termek nev, leiras, cimke, kategoria megjegyzes stb) 15-25mp
Index es select 2-5mp
Index 6 oszlopra es match against utan 0,01-0,06 sec, max 0,15 sec, erre mar mehetett a live search result box
-
Drótszamár
őstag
válasz
Peter Kiss
#1403
üzenetére
Értem, köszi. Át fogom nézni a táblákat e szerint, hogy hol min lehet gyorsítani.
Az előző táblába tettem 800.000 rekordot, és egyelőre nincs lassulás. Köszönöm mégegyszer a segítséget.
-
Drótszamár
őstag
válasz
Peter Kiss
#1400
üzenetére
Köszönöm, nagyon sokat gyorsult így az ellenőrzés. Az eddigi 3-5 percről lement kb 1s-re.
Tolok még a táblába teszt adatot, hogy lássam meddig bírja.Akkor a rossz indexelés volt a gond. Eddig úgy tudtam az a lényeg, hogy legyen az adott oszlopra index, de ezek szerint az adott WHERE feltételben szereplő mezőkre kell közös index.
-
Drótszamár
őstag
válasz
Peter Kiss
#1400
üzenetére
Köszi, mindjárt kipróbálom a két mezős indexet.
Bejön a 10.000 adat. Ebből csinálok egy nagy SELECT-et, ami nézi a duplikációt, visszaad 0 és 10.000 sor közötti adatot attól függően, hogy van e dupla adat, vagy nincs. Amit visszaadott a SELECT, azokat a dátumokat kukázom a bejövő adatok közül (mivel duplák), és a maradék adatból csinálok egy nagy insert-et.
-
Drótszamár
őstag
válasz
Peter Kiss
#1398
üzenetére
datum BTREE
Egyedi: Nem
Csomagolt: Nem
Számosság: 126492
Illesztés: A
Nulla: YESmuszer_id BTREE
Egyedi: Nem
Csomagolt: Nem
Számosság: 1
Illesztés: A
Nulla: YESMegszokásból MyISAM. Van erre a feladatra jobb tároló?
-
Brown ügynök
senior tag
válasz
Peter Kiss
#1310
üzenetére
Ilyen lekérdezéssel szerencsére én még nem találkoztam.

@martonx: Átnéztem a táblákat és nincs olyan nagy vegyítés a motoroknál.
Egyébként októberben költözik a cucc modernebb vasra, addig nézek valami okosságot a MySQL optimalizációjáról szóló fejezetében.
-
martonx
veterán
válasz
Peter Kiss
#1304
üzenetére
Az f pont biztos nem, a g-t, h-t nem részletezted.
-
spammer
veterán
válasz
Peter Kiss
#1283
üzenetére
És így?
$result = $db->query("SELECT COUNT(id) FROM posts");
$RowCount = $result->fetch_row();
echo "Total" . $RowCount[0];Működik, csak a kérdés, hogy mint módszer, ez is rossz-e?
Egyébként ha csak 'id' -t COUNT-olok, az számít valamit, vagy lényegtelen, és írjak nyugodtan csillagot? (Az elvileg ugye mindent kiválaszt).
(#1284) fordfairlane: igen, már értem, csak először rosszul értelmeztem

-
spammer
veterán
válasz
Peter Kiss
#1281
üzenetére
Aha, rosszul értelmeztem, így már oké:
SELECT id FROM posts
-
martonx
veterán
válasz
Peter Kiss
#1267
üzenetére
Plusz milliós nagyságrendű soroknál már jelentős helyet tudsz megtakarítani. Ha az a meződ index, akkor a hely megtakarítás máris duplázódik.
-
spammer
veterán
válasz
Peter Kiss
#1264
üzenetére
Oh shit, szóval az volt a baj, hogy már volt néhány sorom, és mikor létrehozta volna az oszlopot így azok alapból üresek voltak, így már nem is lehetnek egyediek (mert nincs tartalmuk). Ehh... Most már jó, köszi

-
spammer
veterán
válasz
Peter Kiss
#1231
üzenetére
Köszi, akkor jó. Azt hittem, hogy ha az adatbázisban be van állítva a kódolás (meg a php head-jében), akkor nem kell pluszban beállítani.
-
Phvhun
őstag
válasz
Peter Kiss
#1208
üzenetére
és a history tábla az ugyanazokat a oszlopokat tartalmazza, mint az aktiális, vagy csak a változásokat ( Changetime, Changed_by, Data_name, Old_data, New_data ) ? mondjuk így
-
Jinxb1rd
addikt
válasz
Peter Kiss
#1193
üzenetére
Nem lehet ezzel emgelégedni, gondolj csak bele. Az össze termék nagybetűvel kezdődik, akkor az összes termék elő szava kieshet így.
-
#68216320
törölt tag
válasz
Peter Kiss
#1153
üzenetére
Egyik sem. Hanem ezzel a táblaszerkezettel a LEFT JOIN és Group By sajnos nem elkerülhető, ami esetemben piszok sok sort eredményezne teljesen feleslegesen. Gyakorlatilag az elméleti része volt hibás, hisz miért számoljon minden lekérdezésnél, ha ugyanaz lesz az eredmény. De már megoldódott, kis változtatással, optimalizálással.
select p.*, avg(eb.ertek_szam), avg(ep.ertek_szam) from pinceszetek p
left join borok b on p.id = b.pinceszet_id
left join ertekelt_borok eb on eb.bor_id = b.id
left join ertekelt_pinceszetek ep on ep.pince_id = p.id
group by p.id;Ez egy leegyszerűsitett verzió, tökéletesen működik, de lassú.
pl. 3000 pincészet, pincészetenként 15 bor, boronként 50 értékelés. felesleges sorok a join miatt. ennyi. -
pvt.peter
őstag
válasz
Peter Kiss
#1132
üzenetére
Köszi szépen, leszedem, megnézem mit is tud

-
DanielK
addikt
válasz
Peter Kiss
#1103
üzenetére
Nagyon szépen köszönöm!

A joinra rájöttem (google révén), de a sorrendre nem, ezért mindig hibaüzenetbe ütköztem...

-
laracroft
senior tag
válasz
Peter Kiss
#1061
üzenetére
Jaja ezt olvastam, de továbbra sem értem mi a különbség a count(*) és a count(1) között...
my fault

-
Sk8erPeter
nagyúr
válasz
Peter Kiss
#968
üzenetére
Köszi az ajánlást, ezt kipróbáltam, és tényleg meglepően gyors! Ráadásul elég modern a felülete (ahogy a cikkben is kiemelik), egész kényelmes és intuitív a kezelése.
Ami engem zavar, és elég gyorsan feltűnt, az első pár perc tesztelgetés után:
1.) táblákra kétszer rákattintva először a struktúráját mutatja, ami még önmagában nem lenne gáz, de magához a tartalmához viszont kénytelen vagyok az SQL Management Studio-hoz hasonlóan rákattintani jobb gombbal, majd Use in Query menüben kiválasztani a Selectet. Pedig tesztelésnél van, hogy inkább azt szeretném megnézni, hogy mi a táblák tartalma, a struktúráját meg alapvetően elég kevésszer módosítom.
2.) amikor az előbb említett Use in Query > Select menüpontot kiválasztom, akkor a hosszú, legörgetett táblalistában felugrik magának az adatbázisnak a nevére, igazából itt a bal oldali hasáb görgetési állapota nem tudom, miért nem tud független lenni a jobb oldalitól, miközben úgyis AJAX-szal töltődik be a tartalom, miért kell, hogy felugorjon a fókusz az adatbázis nevére. Ez nagyon zavaró tud lenni, ha ismét ugyanazon a táblán akarsz valami műveletet végezni, és már megint scrollozhatsz le a listában.
3.) a query-k összepakolásánál hiányolom azt, ami megvan phpMyAdminban: a query összeállításánál felkínált lista a mezők nevével, amire elég csak rákattintani, és bedobja a textarea-ba.Ettől függetlenül elég ígéretes, és tényleg nagyon gyors. De azért sztem a fentiekben még fejlődnie kell, mert elég alapvető igények (nem?).
Egyébként hol tárolja az elmentett dolgait? Nem kér külön adatbázist, táblák beállítását, mint mondjuk a phpMyAdmin. localStorage-ban vagy ilyesmi?============
(#969) lakisoft :
Már elég rég használtam, de a MySQL Wordbench a dbForge Studio for MySQL-hez képest elég sok mindenben elmaradt, sok mindent hiányoltam belőle. Most nincs előttem, nem ugrik be hirtelen, mik voltak ezek, de a query-k összepakolása a dbForge-ban iszonyat kényelmes, míg a MySQL Workbench-ben nem nagy szám, nem lehet olyan szépen összerakni komplexebbeket.
Az is hozzátartozik viszont, hogy a dbForge nem ingyenes. -
Speeedfire
félisten
válasz
Peter Kiss
#962
üzenetére
Oh, hogy az a. Valóban, most esett le, amit PazsitZ írt, hogy a leszűrt halmaz.
Köszi srácok.
Úgy látszik késő van már nekem... -
Speeedfire
félisten
válasz
Peter Kiss
#959
üzenetére
A 2. képen miért nem jeleníti meg a 18,19-es id-jú sorokat?
Illetve ha a limit 20, 50 akkor pedig a 25. id-val rendelkező az első nála.Ennyire rövid az agyam, hogy nem jól emlékszem a limitre?

Az első paraméter a kezdő érték, a második pedig, hogy az elsőtől kezdve mennyi rekordot jelenítsem meg. Vagy nem?

PazsitZ: Hát akkor marad a where. Bár nekem tényleg úgy rémlik, hogy a limit-tel is lehet így játszani.
-
martonx
veterán
válasz
Peter Kiss
#951
üzenetére
megelőztél, tökéletesen egyetértek.
A több select használata, és az azokból szerver oldalon eredmény összeidétlenkedése tipikus SQL-ezni nem tudó programozói attitűd. Ezek nem hogy gyorsítanak, de brutálisan lassíthatják az adatfeldolgozást. -
Sk8erPeter
nagyúr
válasz
Peter Kiss
#909
üzenetére
Na, ez tök jó, ilyen sem sűrűn volt közöttünk, most mindegyik mondatoddal egyetértek.
(Lehet, hogy ez egyszer nem fogunk vitába szállni, pezsgőt bontok
) Kivéve azzal, hogy "nem PHP-s, tudom, kapjam be". Én aztán nagyon nem vagyok PHP-rajongó. Jelenlegi terveim szerint a jövőben webes területen éppen ASP.NET-re szeretnék átállni teljesen, vagy valamelyik Java-s technológiára. Eleve mondjuk az általam kedvelt C#, Java, C++ nyelvek közül bármelyikben sokkal szebben lehet kódolni (kevésbé sarkall gányolásra, vagy engedi azt), mint PHP-ben (tudom, kapjam be
).
Addig is az általad említett PHP-s frameworkök engem is foglalkoztatnak, pont ezek a "menőbbek", amiknek a használatát már sokszor szerettem volna megtanulni. -
Sk8erPeter
nagyúr
válasz
Peter Kiss
#906
üzenetére
Ha már itt tartunk, milyen framework az, ami tapasztalataid meg kódja alapján szted jónak minősül?
Minden frameworknek van valami bakija, de kíváncsi vagyok, szted melyik az, amelyiket lehet jónak nevezni. -
Speeedfire
félisten
válasz
Peter Kiss
#903
üzenetére
Nekem ebből az jön le, hogy ORM-es.

And Yii Active Record (AR), implemented as a widely adopted Object-Relational Mapping (ORM) approach, further simplifies database programming. Representing a table in terms of a class and a row an instance, Yii AR eliminates the repetitive task of writing those SQL statements that mainly deal with CRUD (create, read, update and delete) operations.
-
Speeedfire
félisten
válasz
Peter Kiss
#893
üzenetére
Agyalok a monoDb-n, de majd meglátom mi lesz belőle. Vagy másra gondolsz?

Ebben nem vagyok otthon annyira.
Soak: Pontosan.
-
Speeedfire
félisten
válasz
Peter Kiss
#891
üzenetére
Lehet úgy is, megy így is. Ez a legszebb az egészben.

SQL-ben nem, de a model tudja és legtöbbször AR-el szoktam a lekérdezéseket megcsinálni.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss
#887
üzenetére
"A tbl_user táblában miért van benne a salt?"
Na igen, ezt én is kérdeztem, még mindig nem látom az okát.
-
Soak
veterán
válasz
Peter Kiss
#766
üzenetére
Köszi a választ, de nem igazán értem meg mondom őszintén
. Ha egyik user másik user akkor nem csak 1 kapcsolat lehet? Mi van ha van az egyik usernek 100 kapcsolata?
Új hozzászólás Aktív témák
- Ne várj sokat a vásárlással: drágulás a láthatáron
- Háztartási gépek
- Xiaomi 15 Ultra - kamera, telefon
- Építő/felújító topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Végleg kitiltaná a Huawei-t az EU a hálózatkiépítésből
- Külföldi rendelések: boltok, fizetés, postázás
- Whisky topik
- E-roller topik
- Béta iOS-t használók topikja
- További aktív témák...
- Lenovo V130-15IGM laptop (Pentium Silver N5000/8GB/256GB SSD
- GYÖNYÖRŰ iPhone 13 Pro 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3358, 100% Akkumulátor
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- 143 - Lenovo LOQ (15IRH8) - Intel Core i5-13500H, RTX 4060 (ELKELT)
- Lenovo Thinkpad 13 G2 Intel i3-7100 laptop (hiányos, de működik)
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő







(Lehet, hogy ez egyszer nem fogunk vitába szállni, pezsgőt bontok
).


