PHP – 48. díl – budoucnost MySQL

Diskuze čtenářů k článku

Vlado  |  13. 01. 2005 11:28

Zdravím,
chcel by som sa opýtať, či bude tento seriál o PHP pokračovať, tuším som sa z neho už niečo naučil. A nemohlo by tu byť aj viac takých použitelných príkladov? Možno niečo ako message board, alebo jednoduché fórum.
Prajem veľa úspechov.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Michal  |  13. 01. 2005 10:54

To že bude stačit přidat "i" k příkazům mysql je naprostý nesmysl. Možná to platí pro mysql_connect ale díval jste se p.Ponkráci i na jiné příkazy?

http://cz.php.net/manual/en/function.mysql-query.php
mysql_query ( string query [, resource link_identifier])
.. tedy dotaz a pak případný volitelný parametr na spojení

http://cz.php.net/manual/en/function.mysqli-query.php
mysqli_query ( mysqli link, string query [, int resultmode])
.. tedy povinný odkaz na spojení a pak query ...

takže kdo nepoužívá nějakou třídu, musí si skripty přepsat, já naštestí jen upravím třídu..

Souhlasím  |  Nesouhlasím  |  Odpovědět
Honza  |  13. 01. 2005 10:23

MySQL 4.0
podpora transakci. Zde je ovsem videt presne to, co autor uvadi, rychlost vs. sire funkci: transakce podporuji tabulky InnoDB, prace s nimi je ale radove pomalejsi nez se starsimi tabulkami MyISAM, ktere ovsem transakce nepodporuji. Zajimavosti je, ze lze mixovat oba typy tabulek v jedne databazi, takze tabulky, ktere nepotrebuji transakce (napr. logy) lze udelat jako MyISAM.
MySQL 4.1
podpora GIS datovych typu primo databazi, podle standardu OpenGIS - velmi zajimave pro vsechny GIS aplikace, ktere takto ziskaji zajimavy, levny a vykonny storage pro sva data
PHP 5
extenze mysql_ neni podporovana a ani nebude. Jedinou moznosti je extenze mysqli_: tzn., ze pokud chcete pouzivat PHP 5, musite prepsat svou aplikaci pro extenzi mysqli_

Souhlasím  |  Nesouhlasím  |  Odpovědět
mol  |  13. 01. 2005 10:57

to je kravina, v PHP 5 lze pouzivat mysql_ bez problemu, samozrejme bez vyuziti veci, ktere ma mysqli_ navic, ale to je snad jasne

Souhlasím  |  Nesouhlasím  |  Odpovědět
Honza  |  13. 01. 2005 17:03

Mate pravdu, spletl jsem se, situace je jina: Ne PHP 5, ale MySQL 4.1 a vyssi vyzaduji mysqli_* extenzi, kdezto podpora MySQL 4.1 (a vyssi) pro mysql_* extenzi neni ani planovana. Zamenil jsem tedy nechte PHP 5 a MySQL 4.1, nicmene vysledek bude nakonec stejny - kdo bude chtit pouzivat novejsi verze (novejsi featury), bude muset prejit na mysqli_* extenzi.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Corwin, Corwin  |  14. 01. 2005 09:01

Cize ak premigrujem na 4.1.x mysql, tak musim zaroven aj prekodit vsetky skripty phpove a upravit ich na pouzitie mysqli_*()? Dakujem.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Honza  |  14. 01. 2005 14:14

Ano. Problem je v tom, ze MySQL 4.1 pouziva uplne jiny protokol (sice na stejnem portu 3306, ale jiny protokol). Extenze mysql_* umi jen starsi protokol, proto to nefunguje. Prepsani mysql_* tak, aby podporovala i novy protokol neni planovano, vsichni maji prejit na mysqli_*. Extenze mysqli_* uz pracuje na novem protokolu, takze se spoji. Po pravde netusim, zda-li nova extenze mysqli_* umi i starsi protokol...

Souhlasím  |  Nesouhlasím  |  Odpovědět
Corwin, Corwin  |  14. 01. 2005 14:21

Dakujem krasne.

Souhlasím  |  Nesouhlasím  |  Odpovědět
rho  |  13. 01. 2005 17:07

Este si dovolim pripomenut niektore dalsie fakty:
1. akonahle zacnete pouzivat innodb a planujete mysql pouzit na nieco ine ako svoj "homesite", tak to cele podlieha licenciam ( na rozdiel od postgress alebo firebird )
2. licencna politika mysql sa uz ani neviem kolky krat zmenila - co len naznacuje smer akym sa myqsl ubera
3. a ich posledne snahy s MaxDB (SapDB), ktora ma vlastne vsetky features co Mysql 5 uz niekolko dlhych rokov, pricom Mysql 5 =~ MaxDb co sa tyka licencovania a podmnozinou funkcnosti - tak uz vobec nechapem co vlastne chcu s Mysql 5 dokazat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
JSK  |  13. 01. 2005 21:36

Ad 1. Poprosil bych o link na informaci o tomto, nejlepe primo na website mysql.com, protoze schvalne jsem ted patral a procital jejich licence a nic jsem to nenasel. Myslim, ze je to jen pomluva. Ne, nepovazuji MySQL za charitu, vim ze vydelavaji slusne na supportu, ale s MySQL pracuji hodne dlouho a o tomto slysim poprve. Myslim, ze sis to asi spletl s faktem, ze pokud potrebujes komercni licenci a vystacis si s MyISAM tabulkami, bude te to stat polovic. Ale pokud splnis podminky GPL, muzes to mit zadarmo i s InnoDB.
Ad 2. Licencni politiky softwaru komercnich firem se meni velmi casto, na tom neni nic noveho u MySQL. Nicmene stale pretrvavaji 2 jistoty: jednak ze lze databazi pouzivat zadarmo pod GPL licenci, jednak ze kdo potrebuje komercni licenci, ta stoji $500 bez ohledu na pocty procesoru, jejich frekvence apod. (porovnejte s komercnima licencema Oraclu, SQL Serveru, DB2 apod.)
Ad 3. Poradil bych ti precist si nektere clanky o MaxDB a MySQL na jejich webu, pak bys asi pochopil, co chteji s MySQL 5 dokazat. Minimalne chteji mit pekelne rychlou databazi, ktera bude mit vsechny oznamene featury - MaxDB je sice uz ma, ale nemuze v rychlosti souperit s velkou trojkou (viz vyse).

Souhlasím  |  Nesouhlasím  |  Odpovědět
czbird  |  13. 01. 2005 09:29

muzu poprosit o podrobnosti nebo nejaky link? diky.
bird (at) zulu (dot) cz

Souhlasím  |  Nesouhlasím  |  Odpovědět
Benjamin  |  13. 01. 2005 19:27

http://www.mysql.com/

Souhlasím  |  Nesouhlasím  |  Odpovědět
Akela  |  13. 01. 2005 08:55

Problem s tymi features je, ze aj ked bude MySQL 5 konecne podporovat stored procedures, nebude to pl/sql, ani pl/perl ci pl/java. Je to mix pl/sql s niecim. Takze na tie stored procky by som sa az tak netesil. Tak isto MySQL chyba podpora SQL standardou. Fakt mi nieje jasne, preco sa firma snazi pridat do MySQL tieto features, ked s toho potom bude druhy postgreSQL. Na druhej strane ako firmu ich chapem, lebo male alebo stredne velke firmy nepotrebuju support k MySQL, takze asi vela nezarobia.

Souhlasím  |  Nesouhlasím  |  Odpovědět
N/A  |  13. 01. 2005 08:15

Cituji: "Pokud si MySQL udrží svoji inovativnost i nadále ..."

V čem je inovativní?
Občas ji samozřejmě používám, ale tu "inovativnost" nějak nevidím. Děkuji za poučení.

Souhlasím  |  Nesouhlasím  |  Odpovědět
JSK  |  13. 01. 2005 21:49

Je to stejné jako u spousty dalších databází, každá firma si přidává "nestandardní" rozšíření SQL standardu podle svých potřeb a uvážení, což rozhodně lze nazvat inovativností. Oracle má perfektní podporu pro stromové dotazy (MySQL má stromové dotazy na prvním místě wishlistu ihned po verzi 5.0), MySQL je naopak perfektní ve verzi 4.1 s podporou kódování a třídění. Neznám jinou databázi, kde lze definovat kódování a třídění na úrovni serveru, databáze, tabulky, sloupce a dotazu. Většinou zvolíš při instalaci nastavení pro celý server a změnit to často můžeš jen kompletní reinstalací. Ale abych měl třeba překladový slovník, v jednom sloupci české výrazy, ve druhém anglické, a na každém sloupci zadefinované jiné třídění, které se bude aplikovat při použití ORDER BY, to jsem jinde než v MySQL neviděl, to je super.
Takových případů bychom samozřejmě našli podstatně více. Prostě MySQL inovativní rozhodně je, svoje nápady v serveru má, ale to neznamená, že ostatní také nejsou inovativní.
Mimochodem, nový nástroj MySQL Query Browser je naprosto špičkový, v práci máme Oracle i SQL Server, a v porovnání s SQL Worksheetem nebo s Query Analyzerem je tohle bomba!

Souhlasím  |  Nesouhlasím  |  Odpovědět
idvis  |  20. 01. 2005 09:23

Nevidel - no tak to je videt, zes s moc databazema nepracoval. Co treba Interbase nebo Firebird. Tam podpora kodovani (charset) a trideni (collate) je na urovni databaze, tabulky, sloupce i dotazu. Navic ma unicode.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor