- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- WhrlpoolMind: Búcsú a HD3870-től
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Luck Dragon: Asszociációs játék. :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- LordAthis: Ismét egy "Idióta" A.I. Projekt, hogy meglovagolja az aktuális trendeket...
- sh4d0w: Netflix? Ugyan, VW előfizetés!
- btz: Internet fejlesztés országosan!
Új hozzászólás Aktív témák
-
-
balaaa88
aktív tag
Sziasztok!
Van valalkinek tapasztalata, hogy a "mysqloptimize" körülbelül mennyi ideig fut egy körülbelül 51-52.000.000 soros táblán? Nyilván környezettől is függ. Nálam lassan 12 órája fut és nem tudom, hogy meddig várjak vele, vagy van-e valamilyen sztenderd ezzel kapcsolatban. Köszi!
-
bpx
őstag
A 4 darab \-ből LIKE-nál 1 darab \ lesz, mert duplán escape-el.
Because MySQL uses C escape syntax in strings (for example, “\n” to represent a newline character), you must double any “\” that you use in LIKE strings. For example, to search for “\n”, specify it as “\\n”. To search for “\”, specify it as “\\\\”; this is because the backslashes are stripped once by the parser and again when the pattern match is made, leaving a single backslash to be matched against.
-
hati
addikt
Sziasztok,
mit rontok el?
mysql> SELECT strPath from tblPath where strPath = '\\\\nas\\usb';
+-----------+
| strPath |
+-----------+
| \\nas\usb |
+-----------+
1 row in set (0.00 sec)mysql> SELECT strPath from tblPath where strPath like '\\\\nas\\usb'
Empty set (0.00 sec)Értelmezésem szerint a 2. select is azonos eredményre kellene, hogy jusson, mint az első.
-
sonar
addikt
válasz
tzimash #1592 üzenetére
Szerintem a dec(4) elég, mert a check funkció nincs tökéletesen implementálva a mysqlbe
"The CHECK clause is parsed but ignored by all storage engines" [link]
viszont ez lenne a helyes
CONSTRAINT chk_irsz CHECK (irsz BETWEEN 1001 AND 9999)
(de ne query browserből próbáld mert ott még a not null-as kivételt is meg lehet kerülni)Ha van más megoldás tedd közzé kíváncsi vagyok
-
tzimash
őstag
Sziasztok!
Adott ez a feladat
Tudom, hogy nagyon alap, de van pár része, ami nem sikerül pl. az a rész ahol az irányítószámot kell ellenőrizni nálam így néz ki, de mégis elfogad 3 jegyű számot is.irsz dec(4) not null check(1001 <= irsz <= 9999),
egyik csoporttársam próbálta between-nel is, de úgy sem ok.
valaki tudna segíteni? -
úgy néz ki, hogy a mysql erre nem figyel ... vagy az ellenőrzés több erőforrást eszik mint ha a where feltételnél van ilyen feltétel szabva ...
- előtte 2-es loadot csinált ez a script a meglévő cuccok mellett
- most meg 0.5 fölé nem ment...
remélem így is marad :9 egyenlőre nem iszunk előre rá remélem így is marad: )
-
-
a folyamat az alábbi
-- termék lista frissítés --
1.) letöltöm a csvt (20-30.000 sor pl az egy beszállító adatbázisa)
2.) soronként md5 hasht generálok
2.a.) ha a sor md5 hash-ét megtalálom a dbben (SELECT) akkor nem csinálok semmit mert az a sor az adatokkal már szerepel
2.b.) ha a sor md5 hash nem szerepel az adatbázisba akkor lekérem a cikkszám szerint a terméket
2.b.I.) ha megvan a termék cikkszám szerint (UPDATE) és az md5 hasht is frissítem
2.b.II.) ha nincs meg a termék (INSERT)
3.) az összegyűjtött md5 hash-en kívüli termékeket inaktiválom (mert a lista mindig tartalmazza az összes elérhető terméket (de néha ki be kerülnek termékek + seo szempontból a nem kapható termék is google találatráadásul igen elöl ... ehhez meg az ügyfél tud megadni alternatív termékeket melyre az ügyfél át tud ugrani...
-- kategória frissítés --- (az ügyfél kérése, hogy minden kategóriában megjelenjen, hogy hány termék van és csak az a kategória legyen amiben van termék)
4.) lekérdezem az összes kategóriát ami egyik kategóriának se a szülője (azaz a leveleket) (SELECT)
5.) végig járom a leveleket majd a szülőiket berakom a tömbbe ha még nincsenek ha vannak akkor összeadom az adott kategória elem számát a szülőjével ... azaz egy fabejárást csinálok, és minden kategóriát csak egyszer frissítek mikor már kiszámoltam a kategóriák elemszámait ...
6.) egyesével lefrissítem a kategóriák elemszámát... Ez a lassúpedigg a fenti query fut le ... most annyit raktam még bele, hogy
UPDATE webshop__category
SET productnumber = ".$numCount."
WHERE id = 10370
AND productnumber != ".$numCountÍgy csak akkor updatel amikor valóban változott a product number ... Ma kiderül mennyivel jobb a helyzet ...
-
sonar
addikt
Nekem is volt hasonló gondom, hogy két baromi nagy adathalmazban kellett a változásokat figyelni.
Egy ideig járható volt ez a favágó/vasutas módszer, hogy ide oda ellenőrizek aztán egy pont után... slow query...
Én úgy oldottam meg, hogy a kivánt csoportokat lequery-ztem és csináltam egy különbséget és csak azt toltam fel. Illetve töröltem / updateltem.
Lehet, hogy a fáradtság teszi, de nem értem pontosan, hogy melyik a lassú rész. Mit csinálsz ott pontosan? -
egyik webshopom kezd kicsit nagyra hízni ...
normális működéssel nincs is gond azt sikerült optimalizálnom...
kivéve a 3 óránkénti termék updatet (még itt sem a termékek updatejével van gond ...) ugye minden esetben csak azokhoz a termékekhez nyúlok amik
- adatai változtak (rendelési státuszok)
- új termékek
- eltűnt termékekmajd mivel ez a kb 70.000 termék 8.000 kategóriában van és minden kategóriában tudnom kell (weboldalon megjelenik) hány termék van így a kategória fában a levelektől a gyökér irányába bejárom a fákat szintenként ...
a gond itt van ugyanis a 8000 lekérdezés baromi lassan fut le valamiért pedig sima queryk ...
"UPDATE webshop__category SET productnumber = 0 WHERE id = 10370"
mit lehetne tenni? A térjek át postgresre jó válasz
... de postgresen ez a webshop nem fut csak ennek a 2.0-ás változata (az már megy mysql és postgres alatt is)
és az ügyfél nem akarja kifizetni az átállás költségét ... anno 500 kategória és 10.000 termék volt
picit hízott
-
martonx
veterán
Sziasztok!
Keresnék kimondottan MySql admint, aki windows szerveren futtatott mysql admin feladatát ellátná időnként. Ha bárkit érdekel, privátban keressetek!
-
lakisoft
veterán
Sziasztok,
Deadlockot hogyan lehet lekérdezni/feloldani mysql alatt? -
_ak_
addikt
Sziasztok!
Lenne egy gyakorló feladatom, de kicsit akadozik a megfejtése.
Adott egy rendelések xml fájl, és ennek megfelelően kéne relációs táblákat létrehozni MySQL-ben normalizálva és minimalizálva a redundanciát.Az alap táblákig nagyjából világos a helyzet:
Customers
-id
-name
-email
-telephoneProducts
-id
-item_code
-item_cc_code
-item_name
-vtsz
-unit
-unit_price_nettoGondolom, célszerű külön a Shipping és Billing táblákat is létrehozni, pl:
Shipping
-id
-customer_id
-name
-country
-postcode
-city
-street
-telephoneBár ez esetben a HU és a Budapest, már valószínűleg többször szerepelne, szóval esetleg azokat lehetne egy Cities táblába menteni
-id
-country
-post_code
-cityés a shippingn táblába a country helyett city_id lenne.
Ez eddig nagyjából jó?
-
Diopapa
addikt
válasz
Peter Kiss #1578 üzenetére
Nagyon köszönöm a PM-ben nyújtott segítséged is!
-
_ak_
addikt
Ezt olvastam már, köszönöm, csak én összemostam a két dolgot.
A Framework külön dolgozik a MySql szervertől.
Foreing_key megadása nélkül is működnek a relációk, persze jelen esetben csak akkor automatikus, ha a megfelelő elnevezéséket használunk.
Továbbá a MyIsam is tudja értelmezni a FK-t, csak a hozzá tartozó megkötéseket nem. Így hiába törlök egy felhasználót, a kutyák gyerek táblán, nem történik semmi változás.
Tehát törléskor külön kéne még egy query a kutya táblában a user_id-re és úgy lehetne törölni a hozzá tartozó kutyákat is.És igaz mi igaz, elég pontatlanul is fogalmaztam. Ebből a szempontból az ORM egy hadik játékos, a lekérdezéseknek csak közvetve van köze a beállított relációkhoz.
Tehát esetemben most, azért kell InnoDB és FK, hogy könnyebb módon törölhessek egy felhasználót kutyástul. Továbbá nem egy eget rengető dolog, de így a megkötések révén, programhiba/akármi esetén sem, tud mondjuk rossz megyéhez kerülni egy település.
Persze az eredeti hibát nem sikerült még kijavítanom, de legalább tudom, hogy valószínűleg az ORM-el kapcsolatos a jelenség és nem konkrétan az adatbázissal van baj.
-
Diopapa
addikt
Sziasztok!
Elég noob vagyok a mysql-hez, szóval ne üssetek plz. Van egy (nyilván) primitív problémám amit nem tudok megoldani. Van 2 táblám, nevezzünk tabla1-nek és tabla2-nek. A tabla1 2 oszlopból áll, egy id és egy nev mezőből. A tabla2 3 oszlopos, amiből most 2 lényeges, legyen id1 és id2. Azt szeretném megoldani, hogy a tabla1 azon sorait lekérdezni, amik a tabla2 id2-ben NEM szerepel, ha az id1 = 'xy'.
Előre is köszönöm a segítségeteket!
-
_ak_
addikt
válasz
Speeedfire #1572 üzenetére
Ez így már világosabb akkor, köszi!
Viszont az továbbra is rejtély, hogy miért nem működik az admin ellenőrzés, máshol is van még egy-egy ilyen if, igaz nem a controllerben, de hasonló a funkció és hibátlanul működik:
@if($dog->user_id === Auth::id())
Ránézésre a host és a vagrant box-om közti különbség a MySQL verziója 5.1-5.5 és tároló motor, de hoston az a két if nem igazán működik úgy, ahogy kéne.
-
Speeedfire
félisten
"Na de nem pont az a lényege az ORM használatának, hogy előredefiniált táblarelációk vannak az idegen kulcsokon keresztül? Máskülönben hogyan határozódik meg a reláció?"
De pont az a lényege, megmondod a model relációban, hogyan kapcsolódik össze a 2 model (tábla) és az alapján állítja össze az eredményhalmazt neked.Ha használ idegen kucsot akkor gyorsabb, nem tudom mysql alatt van-e végrehajtási terv, de ott észre lehet venni, hogy hash join alapján a select cost-ja nagyon kicsi lesz. Míg reláció nélkül lassabb a select.
A legjobban úgy tudod ezt kideríteni, hogy megnézed a framework, hogyan használja fel ezeket a relációkat, ha bemegy a db-be és bekérdezi a constraint-eket, akkor bukod, ha nem kérdezi meg, csak használja, amit a user megadott neki akkor nem.
-
_ak_
addikt
válasz
Speeedfire #1570 üzenetére
Na de nem pont az a lényege az ORM használatának, hogy előredefiniált táblarelációk vannak az idegen kulcsokon keresztül? Máskülönben hogyan határozódik meg a reláció?
Ezt félretéve nagyjából értem amit mondasz, amennyiben a úgy érthetem, hogy a relációk az alkalmazáson belül kerülnek beállításra és az InnoDB motornak pedig sebességi előnye lesz, ha megadjuk, hogy melyek az idegen kulcsok egy másik táblából.
Nem akarok hülyeséget kérdezni, nem hogy írni, csak azt hittem, hogy ha nincsen meghatározva az idegen kulcs, akkor az ORM használatát is bukom.
-
-
_ak_
addikt
Számomra egy kicsit furcsa helyzet előtt állok.
Van egy webalkalmazásom, aminek a fejlesztése közben MySQL-t és InnoDB-t használtam. A tábláim többségében van idegen kulcs, ami(k) segítségével van meghatározva az egyes táblák közti reláció.
Ezt az adatbázist szőröstül-bőröstül exportáltam, majd importáltam egy MyISAM motorral működő MySQL-be és szinte minden ugyan úgy működik.
Nem értem, hogy miért és hogyan. A MyISAM nem támogatja az idegen kulcsokat, az egymáshoz fűződő adatokat mégis le tudom kérni.
Kicsit tartok attól, hogy olyan a helyzet, mint matekban, amikor rossz számolás után jó eredmény jön ki,...legalább 2-szer hibáztam.A dolog egyébként úgy tűnt fel, hogy kettő if-em hibásan fut le:
if (Auth::user()->admin === 1)
{
return Redirect::route('admin.index');
} else..., illetve
if ($id === Auth::id() or Auth::user()->admin === 1)
Mindkettő esetében az admin rész mindig false.
Kaphatnék ebben egy kis felvilágosítást?
-
lakisoft
veterán
A mysql user passnak milyen feltételeknek kell eleget tennie?
-
gyga
senior tag
Sziasztok.
Előzetesben most kezdek ismerkedni a mysql-el. Olyan kérdésem volna, hogy Access van összekötve odbc-n keresztül mysql táblákkal akkor az access formon amin keresztül felviszem az adatokat hogyan tudok törölni? elvileg az éppen a formban levő rekordot szeretném mindig törölni. Ilyen gombszerű törlésre gondoltam, megnyomom és töröl.
más:
Mysql-nél össze kell kötni a táblákat vagy elég az accessban? Ha igen akkor hogy lehet? -
_ak_
addikt
válasz
Speeedfire #1559 üzenetére
Parancsolj:
(SQL:
select count(*) as aggregate from `dogs` where `gender` = szuka
or
(select count(*) from `dog_breeds` where `dogs`.`dog_breed_id` = `dog_breeds`.`id` and `dog_breed` LIKE %szuka%) >= 1
or
(select count(*) from `counties` where `dogs`.`county_id` = `counties`.`id` and `county` LIKE %szuka%) >= 1
or
(select count(*) from `settlements` where `dogs`.`settlement_id` = `settlements`.`id` and `settlement` LIKE %szuka%) >= 1
)martonx: De még mennyire, hogy hasznos. Noha a Laravel dokumentációban nem túl erős, ezt párosítva a tapasztalatlanságommal, sokszor, ha előttem van vmi, akkor sem vagyok benne biztos, hogy az az amit keresek, lásd a fenti helyzetet. Eloquent query alatt ez is ott van, de egyszerűen túlmentem rajta, amíg nem találtam egy könnyen érthető példát a neten.
Ebben szerencsére jók, a hypenak köszönhetően nagyon sok talált van, csak tudjam, hogy mit is akarok pontosan. -
_ak_
addikt
Azt hiszem sikerült az eredeti elképzelésem.
'whereHas' kellett neki:
$dogs = Dog::where('gender', '=', "$search")
->orWhereHas('dogBreed', function ($query) use ($search)
{
$query->where('dog_breed', 'LIKE', "%$search%");
})
->orWhereHas('county', function ($query) use ($search)
{
$query->where('county', 'LIKE', "%$search%");
})
->orWhereHas('settlement', function ($query) use ($search)
{
$query->where('settlement', 'LIKE', "%$search%");
})
->get();Nem hittem volna, hogy ennyit fogok elidőzni már az elején.
-
_ak_
addikt
válasz
Speeedfire #1555 üzenetére
Úgy tűnik, hogy szépen elakadtam.
Félig meddig sikerült valamit összehoznom, viszont azzal együtt jött vmi tábla ütközés, mert fals értékek jelentek meg. Itt az első postomban leírtam, hogy mi volt az ami látszólagosan működött.
Amúgy a model relációim működnek, szóval le tudom kérdezni a kutya fajtát vagy a hozzátartozó települést egy egyszerű '$dog->dog_breed'-el, ill. a kutyák táblában is tudok keresni 'LIKE'-al, de ilyen keresést nem tudok kiterjeszteni a hozzátartozó táblákra.
Most nekifutok még egyszer joinnak, hátha frissebb fejjel más lesz az eredmény.
És közben most kaptam egy tippet, hogy scope query-t is nézzem meg, ill. az eager loadingot.
-
Speeedfire
félisten
A kutya táblához is lehet kötni a usereket, attól függ mi a cél. A kutya tábla eredményhalmaza, vagy a users tábla.
A with szerintem biztos használható több táblára is. Azt már a model reláció résznél kell megadni, yii-ben ez a through kulcsszóval megy, laravel-re is biztos van hasonló.
Szerintem a Laraveles Eloquent az össze relációt felhozza neked.
-
_ak_
addikt
válasz
Speeedfire #1553 üzenetére
Valami összejött, de felvetett jó pár kérdést.
Elsőnek engem a sorrendiség zavart meg. Mivel a kutyák táblám tartalmaz minden infót vagy inkább kapcsolódó 'id'-t, ezért azt hittem, hogy a kutya táblához kell hozzákötni a többit, de most a 'users' táblához kötöttem a 'dogs' táblát, méghozzá a 'user.id', '=', 'dogs.user_id'.
Meg is kapom szépen a keresett infókat. Igen ám, de van még 'county, settlements,dog_breeds' táblám is, ezeket már nem tudom, így hozzákötni a 'users' táblámhoz. Szóval nem működhet ez valahogy visszafelé is?
Mindenesetre még túrom a Laravel doc.-ot, mert 2 dolog is feltűnt. A fenti DB queryt használva másképp kapom meg az adatokat, mint a Laraveles Eloquent-tel.
Eloquenttel a kapott eredmény:
Dog:with('county', 'settlement')->get(); eredménye:
id:
breed:
county_id:
settlement_id (és folytatásként külön tömbben a 'county', majd megint különben a 'settlement'
id:
county:
.
.
.Míg a DB query join után egyben volt minden, tehát tényleg, mintha egy táblából olvastam ki volna mindent.
-
Speeedfire
félisten
Nem ismerem a laravel-t, de a with opció mondja meg (legalábbis yii-ben így van), hogy mihez legyen kapcsolva és a model-ben írod le a kapcsolatot (inner, left, right stb.).
De egy egyszerű példa sql-ben.
table_a :
id : number
data: varchar2
table_b:
table_a_id : number
data: varchar2
select a.*
from table_a a
left join table_b b
on a.id = b.table_a_id
where a.data like '%valami%' or b.data like '%valami%'Összekötöd az a táblát a b táblával, ahol az a.id értéke megegyezik a b.table_a_id értékével. A feltétel részben pedig az a.data és a b.data mezőkre írsz like-ot. Az eredményhalmazban pedig kilistázza az összeset az a táblából.
Kereshetsz külön is, de akkor kell egy union all.
-
_ak_
addikt
Sziasztok!
Laravel-ben szeretnék egy kereső mezőt létrehozni, amibe a beírt szöveg(részlet)nek megfelelően, visszakapok egy tömböt.
Tehát mondjuk, ha beírom, hogy kan, akkor adja vissza az összes 'kan' nemű kutyát, meg azokat is amik pl. Kaskantyú-n vannak.
Hogy szokás egy ilyen keresést kivitelezni?
Az adatbázisok közötti reláció be van állítva és le tudom hívni az összes egymáshoz tartozó információt, de nem tudom, hogy hogyan kereshetnék a hozzátartozó adatbázisban. A kutyák táblába a pl. a megye táblára csak a megye azonosítója szerepel
Eddig ilyesmivel próbálkoztam, de mivel nincsen county mező a kutya táblámon ezért ez így nem működik.
$dogs = Dog::with('county')
->where('gender', 'LIKE', "%$search%")
->orWhere('county', 'LIKE', "%$search%")
->paginate(8);Feltételezem, hogy valami JOIN kéne nekem, de egyszerűen most nem tudom megérteni annak a működését.
Irányba tudna valaki állítani?
Így hirtelen azt hiszem, hogy kereshetnék külön külön is a táblákban, de végeredménybe én azt szeretném, hogy minden egy tömbben legyen tovább adta a View-nak.
-
-
Kommy
veterán
válasz
Speeedfire #1546 üzenetére
Köszi a trigger bejött most már csak egy jelszó emlékeztetőt kell kérni az SLS-ben és máris be tud lépni.
fordfairlane: há ebből a leírásból nem jöttem rá, hogy fognak a felhasználói adatai átkerülni a phpbb-ből az SLS-be.
-
biker
nagyúr
é 2 hete ezen dolgoztam pont, csak itt a másik oldal tagait kellett phpbb-be tolni, és arra jutottam, nem lehet kikerülni a phpbb saját reg-jét, mert túl sok mindent kavar
- adat nem írható be az ő users táblájába, mert saját jelszó kódolási eljárását ki kell akkor venni az ucp-ből, ugyanis a jelszó mellé letárol egy saltot, majd a kódolt jelszót. ha nem ezt használod, akkor belépéskor nem fog passzolni a jelszó
- emailt szintén generál egy kódolt verziót is, hogy kívülről ha valaki átírja az emailt, nem passzol a tárolt hash-el, buktad.
- user form megnyitáskor generál egy időbélyeget és annak lejárata van, ha nem passzol, invalid a form.
- ha nem az ucp.php oldalról érkezel invalid a form. ha nem fogadod el a feltételeket MIELŐTT regisztrálsz, invalid a formÉs aztán azt mondtam, dögölj meg ahol vagy, a "másik" oldal adatmódosítás részbe, ahol be van lépve a tag, kiraktam egy gombot, mögötte egy formmal, hogy regisztrálok a fórumba, azzal meghívva az ucp-t a phpbb-ben, ahol a név/email mezők readonlyvá vannak téve, így csak azzal lehet regelni, aki belépett a másik oldalon, és azonos lesz a neve a fórumban is. Így is el kell fogadni a feltételeket is előtte, de ez már működő megoldás, átadva az adatokat
-
Kommy
veterán
Sziasztok!
Egy olyan problémám lenne, hogy csinálunk egy szimulátoros ligát, ennek van egy phpbb fórumja és egy a liga eseményeit kezelő "programja" (SLS), mind a kettőbe kéne regisztrálni a felhasználóknak, viszont szeretném valahogy megoldani, hogyha valaki regisztrál a fórumra akkor kerüljön be az SLS-be is.
De eddig nem jöttem rá, hogyan lehetne ezt megoldani, arra gondoltam, hogy nem e lehetne valahogy a phpbb regisztrációs táblájából szinkronizálni valahogy adatokat az SLS regisztrációs táblájába.
-
DS39
nagyúr
válasz
martonx #1543 üzenetére
oda nem pakol, végignéztem ezeket a helyeket, csak a saját telepítési mappájában.
most újracsináltam, és jó lett.
uninstall után otthagyott mappákat végignéztem, csak az adatbázis és projekt fájlokat hagytam meg, a többit kitöröltem, és ezután telepítettem. az adatbázis átmásolásnál (új verziós mysql mappába) is figyeltem hogy conf fájlokat ne írjak felül a régivel. nem tudom pontosan melyik okozta a gondot, mert múlt héten a 2. telepítésnél a komplett wamp mappát is töröltem, és úgy is kavarodás volt, bár az adatok visszamásolása előtt lehet nem néztem meg, csak másolás után, így vélhetőleg felülírtam vmit. -
DS39
nagyúr
kicsit off kérdésem lesz, de örülnék ha tudnátok segíteni.
a WAMP server 2.2 helyett felraktam a 2.4-et (okai: phpmyadmin-ban ha ki akarom exportálni az adatbázist sql fájlba, akkor elfelejti beletenni az adatbázis kreálás kódrészt, vagy pl. a datetime-nak nem tudtam on update current_timestamp tulajdonságot beállítani, csak timestamp-nek, illetve nem engedett olyat hogy egy oszlop default értéke current_timestamp legyen és egy másiknak meg üres, de update-re felvigye a current_timestamp-et, 2.4-es wamp-nál ezek megtehetők) de a phpmyadmin felületén az ikonok teljesen összekeveredve látszanak, és ez engem zavar. először azt gondoltam hogy a telepítővel lehet vmi, de másik gépre is feltettem, ahol előtte nem volt wamp, és ott meg tökéletes. uninstalláltam már számtalanszor, de nem jött helyre. ha visszateszem a 2.2-t minden ikon a helyén van. hol tárolhatja ezeket ill. hol hivatkozik rá hogy még törlés is után is a korábbi beállítás él(het), és a 2.4-nél már más ikonok töltődnek be?
tudom kicsit hülyeség lehet hogy ezen akadtam fent, de megszoktam a felületet, és zavar hogy adatbázis ikon helyett eldobás van, szerkezetnél az importálás ikonja, és hasonlók
-
biker
nagyúr
válasz
martonx #1540 üzenetére
a célirányos kereséssel nincs gond, és nagyon a szerkezettel sem, mivel félreérted, nem a lényegi infó van több tábla több oszlopában, hanem a kapcsolódó infók.
Adott az adatlap (sajnos ezen van a 130 oszlop amiből kb 100-ra keresni is kell) de van még 3 tábla, értékelésekkel, és kapcsolódó írásokkal amivel jó lenne kapcsolódva keresni.
Ezekből kb 15 szöveges mező (amiben fulltext search kell) és a maradék az olyan opciós kapcsolós oszlop lista, mint egy biztosítós vagy autókereskedős tábla (igen/nem, alap/extra/nincs és hasonlók)
és ugye az összes keresésnél olyat szeretne az ügyfél, hogy ha rákeres az "alma" szóra, akkor a szövegekben lévő alma szóra is keressen, meg a 100 hülye opciós listából is arra, ahol az alma ki van választvaránézek erre a lucene-re, köszi
-
martonx
veterán
Egyrészt szépen felépített adatbázis lehet, ahol ugyanazon témához érdemi információ keresés történhet 10 táblában 200 oszlopban
Másrészt én csinálnék egy jó nagy kereső scriptet (vagy inkább használnék valami kész kereső engine-t, mint pl. Lucene), ami X másodpercenként szépen végignyalná azt a 10 táblát, azoknak mind a 200 oszlopát. És egy külön eredmény táblába betolná az eredményeket. Így végül, amikor a tényleges keresés történik az gyors tud lenni, igaz a megjelenített adatok nem lesznek másodpercre pontosak.
-
biker
nagyúr
Egy is "mindenhol keresés" témában érdeklődöm
Adott egy ügyfél, van 10 táblában összesen kb 200 oszlop, benne tartalom.
Szeretne egy "mindenben keres" verziót.Ezt hogy lehet szépen és erőforrásigényesen megoldani?
Index és match-against oszlopszám limites, és egy 200 soros like-os lekérdezés sem épp szép
Azon gondolkozom, egy view-t létrehozni, amiben csak a tábla neve, oszlop neve, sor_ID, és szöveg oszlopok vannak, és ezen futtatok keresést, akkor a találat megadja, melyik tábla mely sorát kell visszaadni, és miben találta (oszlop)
ez járható út, vagy van jobb?
-
lakisoft
veterán
Sziasztok,
Lenne egy kis problémám:
exportálásnál az alábbi hibát dobja:
dbuser has insufficent privileges to SHOW CREATE PROCEDURE `xy_procedure`!
Operation failed with exitcode 2
Hogyan lehetne ez automatizáltam megoldani az összes adatbázis usernél?
többszázról beszélünk ezért kéne automatikusan.
Előre is köszi a választ.
üdv, lakisoft -
sonar
addikt
válasz
DNReNTi #1533 üzenetére
Nem FTP hanem egy sima share. És egy automatizmus mozgatja a file-okat (sajnos nem tudunk belenyúlni)
Ez az oda vissza checkelés nem túl szimpatikus, akkor egyszerűbb egy
delete * from table; dir *.* -> insert table; Ekkor max azt kellene megoldani, hogy amig ez fut addig ne legyen query. Tényleg lehet valami lock-ot csinálni?
De lehet, hogy odavissza checkelés lesz a vége. Megirom midkét féle képpen és meglátom mit mutat.Felülirás nem számit, csak az a lényeg, hogy a helyén legyen.
-
DNReNTi
őstag
Akkor meg készíteni kell a felhasználóknak egy felület amin ők maguk vezetik a változásokat. Na ez az amit a felhasználók majd telibeszarnak és az egész nem ér semmit.
Szerintem egy ilyen ellenőrző script nem nagy overhead, pillanatok alatt átfutja a filelistát és az adatbázist is.
Én utóbbival kezdeném:
SELECT id, filename FROM files;
Egy foreach() ciklusban minden fájlnevet lehet ellenőrízni file_exists() függvénnyel.
Ha nem létezik, a bejegyzést törlöd.Ha ez lefutott jöhet a fordított eset:
A fájllistán mégy végig, és az aktuális fájlnévre keresel a táblában. Ha egy adott fájl nevére nincs találat, akkor felviszed az adatbázisba.A felülírt fájlok este így hogy a dátum nem változik már érdekesebb.
De erre megoldás lehet a filemtime() függvény, ami a legutolsó módosítás idejét adja vissza. (Bevallom még sosem használtam így erre nem esküszöm meg.) Ezt egy az egyben bele lehetne integrálni az első lépésbe, így ha egy file létezik de a legutolsó módosítás dátuma nem egyezik akkor azt frissíted.Ezzel egy viszonylag up to date táblát lehetne vezetni a fájlok változásáról teljesen automatizáltan, felhasználói hiba kizárásával.
Másik alternatíva lehet mondjuk az FTP log feldolgozása, de ott is ugyan ezt kell végigjátszani.
Egyébként érdekes kérdés, kíváncsi vagyok valaki előáll e pontosabb megoldással.
Update:
Mire leírtam eszembe jutott egy talán jobb lehetőség:
A felépítés ugyan ez lenne mint amit leírtam, annyival érdemes lehet kiegészíteni hogy tárolod az utolsó ellenőrzés idejét, és a fájlok ellenőrzésénél csak olyan fájlokat vizsgálsz amik legutolsó módosításának ideje ettől nagyobb. Ezzel kizárod a változatlan fájlok vizsgálatát. -
sonar
addikt
válasz
DNReNTi #1531 üzenetére
Értem mit mondasz, de ez is egy bazi nagy for ciklus lenne ahol 95%-ban nem változik semmi.
Plusz duplán kell futtatni mert ha mondjuk töröltek egy file-t az csak úgy derül ki ha minden egyes rekordhoz tartozó filet leellenőrzök.
Sajnos a dátum figyelés sem játszik mert a file dátuma az eredeti kreálási (azaz simán lehet, hogy 2010-es és most lett odamásolva)
(valamint win és linux alatt is működnie kell/ene a scriptnek) -
DNReNTi
őstag
Ha webes felületen történik a file management akkor egyszerűen csak a fájlművelethez kell kapcsolni egy sql parancsot is, új fájl -> insert, törlés -> delete stb, így folyamatosan naprakész az adatbázis. Ha nem weben hanem pl ftp-n zajlik a file cserebere akkor meg cron-nal érdemes 10-30 percenként futtatni egy szkriptet ami ellenőrzi a file listát, különbözés esetén pedig a megfelelő parancsot végrehajtja. Pl új file a szerveren, ami nincs az adatbázisba, beszúrod, egy file ami ugyan szerepel, de új dátummal, update, file nincs a listában de szerepel az adatbázisban: törlöd a bejegyzést.
-
sonar
addikt
Sziasztok,
A következő problémám lenne.
Van egy könyvtár 2-3000 file-lal és ennek a tartalma viszonylag gyakran változik (másolnak oda és törölnek is)
Egy listát kellene erről folyamatosan vezetni MySQL-ben. Kb 2-3% változik folyamatosan.
A gondom az, hogy nem igazán tudom, hogy mi lenne az optimális megoldás.
Nyilván a delete / truncate majd insert lenne a legtriviálisabb megoldás, de szerintem ez túl favágó.
Mit tudtok javasolni? Van erre valami más alternativa? -
martonx
veterán
Ugyan nem mondtad, de az előzményekből sejtem, hogy admin vagy a mysql-edben, sőt a gépen is, ahol a mysql fut.
Így aztán eddig biztos elkerülte a figyelmed, hogy a mysql telepítésnél egy olyan is felkerült a gépre, hogy mysql console vagy valami ilyesmi a neve. Nos ez nem poénból került fel, hanem pont az ilyen esetekre. -
Thusor
őstag
Ha valaki tudna abban segíteni szájbarágósan, hogy az ezen az oldalon található adatbázis létrehozását hogyan tudnám véghezvinni a MySQL 5.6 windowsos verzióján? A megadott fileokat letöltöttem, de arra nem jöttem rá, hogy ezeket a parancsokat hol kellene neki megadnom (beírni hova) valamint az egyes fileok elérési útvonalát hogyan adjam meg a HDD-men?
-
Thusor
őstag
Windows 8.1-re telepítettem a MySQL-t. Arra lennék kíváncsi, hogy hogyan lehetne másik meghajtóra áttenni az localhost adattáblákat, mert jelenleg mindent a C meghajtóra tesz, de nekem a D meghajtón lenne jó?
-
martonx
veterán
válasz
TomyLeeBoy #1523 üzenetére
Jaja, bármilyen idétlen apróságon múlhat. Saját tapasztalat, hogy a PHP + MySql kombó windows-on IIS-el gyorsabb, mint Linux-on Apache-al.
-
martonx
veterán
válasz
TomyLeeBoy #1520 üzenetére
Normálisan konfigolt windows és linux szerver között nulla sebességkülönbségnek kellene lennie (sőt pusztán webszerver oldalról nézve az IIS mintha egy fokkal hatékonyabban futtatna PHP-t, mint az Apache).
A mysql-t be kellene konfigolni rendesen, az 1,3 Gb-nyi foglalt memória beszédesen kevés lenne egy jól konfigolt MySql esetében. -
Peter Kiss
őstag
válasz
TomyLeeBoy #1520 üzenetére
Be kell rendesen állítani a MySQL szervert. Sőt, igazából először azt sem ártana tudni, milyen engine-nel megy most az adatbázis illetve a táblái. Ja, indexek át lettek költöztetve (voltak-e egyáltalán)?
Emellett gond lehet PHP oldalról, hogy másik verzió, amiben nem működik valami jól az alkalmazással.
-
TomyLeeBoy
tag
válasz
DNReNTi #1517 üzenetére
Van egy gépünk befogva szervernek (pentium dualcore, 4Gb ram), egy php+mysql alapú adatrögzítő/nyilvántartó rendszer fut rajta. Eddig linuxon ment, most win server került rá mert másra is kellene használni amihez win kell. Még csak iis, mysql 5.5, php van rajta semmi más, visszarakva egy a bizonyos rendszer, és a mysql műveletek jelentősen lassabbak lettek. Nem néztem pontos mérést de 5x-10x biztosan. Először azt gondoltam kevés a vas így winnel, de a feladatkezelő 3% prociterhelést, és 1,3Gb foglalt ramot mutat, tehát erőforrás elvileg még van bőven...
-
martonx
veterán
válasz
TomyLeeBoy #1516 üzenetére
42
-
DNReNTi
őstag
válasz
TomyLeeBoy #1516 üzenetére
En nem ertem a kerdest
-
TomyLeeBoy
tag
Sziasztok!
Lenne valakinek ötlete arra vonatkozóan, hogy miért futnak le a mysql kérdések win+mysql kiszolgálón mint linux+mysql szerveren?
-
biker
nagyúr
válasz
trisztan94 #1514 üzenetére
Nem exportálni akarom, hanem lekérni. Akár többször is egymás után.
Ezt fejtsd ki, szerinted mi az exportálás és a teljes adatbázis lekérése közti különbség???
Mert szerintem egy tábla összes adata, vagy egy adatbázis összes táblájának összes adata lekérése exportálás -
biker
nagyúr
válasz
trisztan94 #1511 üzenetére
és a kettő közt mia különbség?
-
cidalain
veterán
válasz
trisztan94 #1511 üzenetére
A lekérést így is, úgy is fel kell dolgozni.
Mivel olyan SQL parancs nincs full adatbázis, és tartalom lekérdezésre, ami egyetlen lekérdezéssel tenné ezt, ezért alternatív megoldás kell. Ezt kérted.
Command lineban ha exportálsz, nem egy fájlt kapsz vissza mentés máskénttel. Mivel export minden benne van ami neked kell. Kell rá írnod feldolgozó rutint. -
biker
nagyúr
válasz
trisztan94 #1505 üzenetére
Google: mysql export database command line ????
-
cidalain
veterán
válasz
martonx #1508 üzenetére
kivéve ha az a más program az egy adott program. és neki nincs lehetősége migrálni.
(pl könyvelő program, számlázó program, raktáros program - nekem az a tapasztalatom, hogy ugyan adnak ki hozzá folyamatos frissítéseket, de a platformok fejlődését nem minden esetben követik a programok. de az is igaz, hogy ezekhez szokott support is tartozni és rá lehetne kérdezni hogy mi a helyzet)én sem tartanám szerencsésnek több szerver futtatását.
ráadásul ami 5.1-en elfut, annak gond nélkül el kellene futni 5.5-ön is szerintem. -
martonx
veterán
válasz
Ra's al Ghul #1506 üzenetére
Szvsz nagyon szerencsétlen felállás, ha egynél több MySQL fut egy szerveren. Mivel a két verziónak osztoznia kell az erőforrásokon. Nem hiszem el, hogy 5.1-ről 5.5-re migrálni akkora feladat lenne.
-
baracsi
tag
válasz
Ra's al Ghul #1506 üzenetére
ha eltérő a szolgáltatás neve és eltérő porton hallgatóznak, akkor lehet több MySQL is egy op. rendszeren belül
-
Ra's al Ghul
senior tag
Sziasztok!
Egy ubuntu 12.04 LTS 64 bit szerveren üzemel egy mysql (5.5 verzió). Viszont lenne egy program amihez mysql 5.1 kéne. Viszont más programhoz az 5.5 kell. Van valami mód arra, hogy hogyan lehet megvalósítani azt, hogy egy szerveren több mysql fusson.
Én egy mysql sandbox nevű alkalmazást találtam, de nem tudom, hogy hogyan tudnám a jelenleg működő szerveren beüzemelni, hogy a korábbi adatok megmaradjanak.
-
trisztan94
őstag
Hali
Van arra lehetőség, hogy egy darab SQL kéréssel lekérjem egy adatbázis összes tábláját és összes adatát?
Tehát nem csak a táblanevekre vagyok kíváncsi, hanem a bennük lévő adatokra is.Esetleg valami hack?
-
ravenwood
csendes tag
alap szintű fql programozással kapcsolatban van itt olyan aki tudna nekem segíteni?
Facebook Query Language aki még nem hallott volna róla, hasonló mint az sql..
a kérdésem az lenne hogy hogyan tudok filtert használni event_member table specifikusan, azaz csak az event tagjai között, keresztnevük alapján pl.: SELECT first_name FROM event_member WHERE uid IN (SELECT uid FROM event_member WHERE eid = 239856239756235valami) AND first_name = "xyz név" -
cidalain
veterán
válasz
Apollo17hu #1501 üzenetére
ja valószínűleg az lesz, az átgondolt tábla verzió, még egy kicsit finomítva
egyszerűbb kezelni sokkal, bár több bájt letárolni.
(nekem nem devizacuccokkat kell tárolni, csak ez volt egy nagyon hasonló példa)jelenleg van egy adott tábla formátum, de az egész rendszert újraírom, mert a legutóbbi koncepció már lassan 5 éves, és azóta egy csomó minden változott, és a jelenlegi verziójú adatbázis nem nagyon rugalmas.
és a rugalmasságot viszont csak az "átgondolt" szerkezetű táblával tudom biztosítani.
-
Apollo17hu
őstag
válasz
cidalain #1499 üzenetére
Optimalizáláshoz nem értek, de munkahelyemen előfordul, hogy aktuális devizaértékekkel kell számolni.
Ehhez egy olyan táblánk van, ami minden nap eltárolja a napi középárfolyamokat. Lényegében úgy néz ki a tábla, mint a te átgondolt táblád, csak nem percenként van szükség az árfolyamra, hanem naponta.
Új hozzászólás Aktív témák
Hirdetés
- Call of Duty: Warzone
- BestBuy topik
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- sziku69: Fűzzük össze a szavakat :)
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Milyen routert?
- gban: Ingyen kellene, de tegnapra
- Plazma TV topic
- OLED TV topic
- További aktív témák...
- Asztali PC , i5 7400 , 1660 Super , 16GB DDR4 , 480GB SSD
- Bomba ár! Asus N551JQ - i7-4710HQ I 8GB I 256GB SSD I GT845M I 15,6" FHD I Cam I W10 I Garancia!
- Bomba ár! Lenovo IdeaPad V330-15IKB: i7-8G I 8GB I 256SSD I 15,6" FHD I Cam I W11 I Garancia!
- Bomba ár! Lenovo IdeaPad V130-15IKB: i5-8G I 8GB I 256SSD I 15,6" FHD I Cam I W11 I Garancia!
- iPhone 16 Pro Max 256GB Black - 2026.05.28.-ig Nemzetközi Garancia
- antivirus szoftverek, licencek, Legion Pro 7 RTX GAMING laptopok, Dokkolók
- HIBÁTLAN iPhone XS 64GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3030, 100% Akkumulátor
- Samsung Galaxy A52 128GB, Kártyafüggetlen, 1 Év Garanciával
- iKing.Hu - Apple iPhone 13 Pro Max - Silver - Használt, karcmentes, 100% akku
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: FOTC
Város: Budapest