Aký je limit premennej v PHP?

Programovacie jazyky, rady, poradňa...
QyncY
Expert
Expert
Používateľov profilový obrázok
Príspevky: 182
Registrovaný: 08 máj 2005, 19:31

Aký je limit premennej v PHP?

Príspevok od používateľa QyncY »

Ak mám v MySQL databáze veľkú tabuľku, ktorá má tisíce riadkov plné textu a vykonám príkaz:

Kód: Vybrať všetko

$result = mysql_query(SELECT * FROM tabulka, $connection);
Bude to fungovať? Aký je tam limit?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Aký je limit premennej v PHP?

Príspevok od používateľa audiotrack »

limit je taký, aký máš nastavený v konfigurácii php pod premennou memory_limit. Je to limit pre skript (teda všetky premenné v jendom skripte súčasne). Ak ale potrebuješ robiť s obrovskou tabuľkou takýmto spôsobom ^ tak to smrdí zlým návrhom databázi alebo zlým algoritmom
QyncY
Expert
Expert
Používateľov profilový obrázok
Príspevky: 182
Registrovaný: 08 máj 2005, 19:31

Re: Aký je limit premennej v PHP?

Príspevok od používateľa QyncY »

Dakujem. No ja by som ani nepotreboval celú tú tabuľku ťahať do scriptu. Rád by som použil niečo ako:

Kód: Vybrať všetko

$result = mysql_query(SELECT * FROM tabulka WHERE text LIKE '%{$string}%'), $connection);
Ale v tej tabuľke sa nachádza aj text s diakritikou a ak by niekto zadal do vyhľadávacieho políčka napr. slovo: "rychlo", tak by som mu rád vrátil aj text, v ktorom je slovíčko "rýchlo". A zatiaľ som neprišiel na iný spôsob ako to urobiť bez toho aby som surovo premieňal v cykle každý jeden riadok textu z tabuľky na text bez diakritiky a v ňom hľadal slovo "rychlo".
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Aký je limit premennej v PHP?

Príspevok od používateľa audiotrack »

vravíš že tam máš text (a teda nie varchar) tak nechápem prečo vlastne používaš like a nie fultext. Tvoj problém to nevyrieši, ale jeho riešenie zjednoduší. Osobne by som si hladaný výraz hneď upravil na všetky relevantné varianty (s aj bez diakritiky) a to potom poslal do fultextového hladania. Bolo by to jedno query na db, ktoré by mi vrátilo už len relevantné výsledky. Otázne je ako budeš generovať všetky možnosti hladania (asi by som skúsil iba s diakritikou a bez. Všetky kombinácie by som nerobil /je zbytočné hladať rýchľô a pod./)
QyncY
Expert
Expert
Používateľov profilový obrázok
Príspevky: 182
Registrovaný: 08 máj 2005, 19:31

Re: Aký je limit premennej v PHP?

Príspevok od používateľa QyncY »

Aký je tam rozdiel medzi LIKE a tým fulltextovým vyhľadávaním? Som zvyknutý, že keď funguje niečo, tak to netreba meniť a zatiaľ mi ten LIKE funguje dobre (ten text je v priemere len jedna veta, max. 2). To čo si písal s tým upravením výrazu na všetky varianty, tak neviem či som ťa dobre pochopil (asi nie), ale napadlo ma vďaka tomu ešte jedno riešenie: Asi urobím v tej tabuľke ešte jeden stĺpec s tým istým textom, ale bez diakritiky a budem slová bez diakritiky vyhľadávať v tomto stĺpci a naopak slová s diakritikou v stĺpci s textom s diakritikou.
ropman
Medium Professional
Medium Professional
Príspevky: 1250
Registrovaný: 12 apr 2010, 21:07

Re: Aký je limit premennej v PHP?

Príspevok od používateľa ropman »

fulltext vyhladavanie v mysql uz od neviem ktorej verzie riesi aj tu diakritiku. aspon teda u mna to funguje. a collation mam nastavene na utf8_slovak_ci
QyncY
Expert
Expert
Používateľov profilový obrázok
Príspevky: 182
Registrovaný: 08 máj 2005, 19:31

Re: Aký je limit premennej v PHP?

Príspevok od používateľa QyncY »

ropman napísal:fulltext vyhladavanie v mysql uz od neviem ktorej verzie riesi aj tu diakritiku. aspon teda u mna to funguje. a collation mam nastavene na utf8_slovak_ci
Skúšal som to a mne to bohužiaľ nefunguje. :? Mám MySQL 5.0.22
ropman
Medium Professional
Medium Professional
Príspevky: 1250
Registrovaný: 12 apr 2010, 21:07

Re: Aký je limit premennej v PHP?

Príspevok od používateľa ropman »

to je asi stara verzia, mne to funguje na 5.1.37
Napísať odpoveď