- Milyen processzort vegyek?
- Nvidia GPU-k jövője - amit tudni vélünk
- iPad topik
- Soundbar, soundplate, hangprojektor
- Milyen egeret válasszak?
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Notebook hibák
- Milyen billentyűzetet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- E-book olvasó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
Hirdetés
- Jövedelem
- Milyen processzort vegyek?
- Nvidia GPU-k jövője - amit tudni vélünk
- Elder Scrolls IV - Oblivion - Olvasd el az összefoglalót, mielőtt írsz!
- BestBuy topik
- Garancia kérdés, fogyasztóvédelem
- iPad topik
- Xiaomi Watch 2 Pro - oké, Google, itt vagyunk mi is
- Soundbar, soundplate, hangprojektor
- Milyen egeret válasszak?
- További aktív témák...
- HIBÁTLAN Apple Watch Ultra 2 Natural Titanium 49mm -1 ÉV GARANCIA - 100% Akkumulátor, MS3220
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Zebra ZP505 EPL hőpapíros címkenyomtató
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest