Uraaa... MySQL 4.1.7... este de ieri 27-OCT-2004 RECOMENDED!
Scris: Joi Oct 28, 2004 3:59 pm
Pentru ca eu astept versiunea 4.1.xx de mult prea mult timp sunt mai mult decat incantat !
Am sa fac mai jos o trecere in revista a noutatilor considerate de mine importante de la versiunea 4.0 !
(evident in RO... originalele in EN le gasiti de la pana la schimband ultima cifra din url !)
MySQL 4.1.0
- Suport pentru CHARSET si COLLATION... care pana acuma lipsea cu desavarsire... se pot specifica pe baza de date... pe tabel sau chiar pe coloana !
- Functii noi CHARSET() si COLLATION() care intorc setul de caractere respectiv subsetul de caractere
- Posibilitatea de a seta o coloana la valoarea default folosind DEFAULT(col_name)
- verificarea pe DATE/DATETIME este putin mai stricta
- server side help pentru functiile MySQL
- replicarea se face corect daca se foloseste RAND() si mai nou merge si cu variabile definite de utilizator @var.
- DROP TEMPORARY TABLE doar sterge tabelul temporar... nu face termina tranzactia
- coloanele TIMESTAMP sunt acum SQL compatibile... si deci nu mai sunt suportate coloane TIMESTAMP de lungimi diferite si sunt returnate in formatul 'YYYY-MM-DD HH:MM:SS'
- multiple cereri... acum puteti trimite catre server in aceeasi request mai multe cereri SQL folosind ';' ca separator...
- pentru compatibilitate cu alte baze de date la cereri SELECt care nu au nevoie de un tabel se poate adauga 'FROM DUAL' pentru a fi compatibil...
- coloanele specificate CHAR sau VARCHAR mai mari de 255 sunt convertite automat in BLOB respectiv TEXT
- nou cuvand rezervat DIV pentru ca au fost introdusi operatorii MOD si DIV
- Subqueries: SELECT * from t1 where t1.a=(SELECT t2.b FROM t2) !!!MORTAL!!!!
- Tabele derivate: SELECT a.col1, b.col2 FROM (SELECT MAX(col1) AS col1 FROM root_table) a, other_table b WHERE a.col1=b.col1;
- suport UTF8 ... complet
- comentariu pentru fiecare coloana... care pot fi vazute cu SHOW FULL COLUMNS FROM tbl_name
- ALTER DATABASE... asta da... de mult dorita !
- suport pentru GIS vezi:
- SHOW [COUNT(*)] WARNINGS - pentru a obtine ultimele erori... nu numai ultima eroare ca pana acuma !
- la CREATE TABLE ... SELECT poti specifica tipul coloanei in noul tabel: CREATE TABLE foo (a TINYINT NOT NULL) SELECT b+1 AS a FROM bar;
- functie noua VARIANCE
- CREATE TABLE new_table LIKE existent_table - creaza mult mai repede un tabel...
MySQL 4.1.1
- multiple tablespaces pentru innoDB
- optiunea IGNORE pentru DELETE
- MATCH ... AGAINST( ... WITH QUERY EXPANSION)
- full text suporta acuma UTF8 si nu numai
- replicarea prin SSL... excelent pentru cei care folosesc replicare!
- coloanele CHAR, VARCHAR, si TEXT sunt masurate in caractere nu in bytes ca pana acuma !
- LIMIT nu mai accepta valori negative
- ATENTIE - parolele au acuma 41 caractere... atentie mare cu PHP... caci poti aparea erori... "Client... does not support authentication... consider upgradin client"
- functii noi: ADDTIME(), DATE(), DATEDIFF(), LAST_DAY(), MAKEDATE(), MAKETIME(), MICROSECOND(), SUBTIME(), TIME(), TIMEDIFF(), TIMESTAMP(), UTC_DATE(), UTC_TIME(), UTC_TIMESTAMP(), si WEEKOFYEAR()
- ANALYZE TABLE, OPTIMIZE TABLE, REPAIR TABLE, si FLUSH sunt memorate in binary-log si deci replicate si ele.
MySQL 4.1.2
- CURRENT_TIMESTAMP poate fi valoare default pentru coloane de tip TIMESTAMP... astfel coloana (un per tabel) se modifica singura la modificarea randului. Pana acuma prima coloana de tip TIMESTAMP NOT NULL fara o valoare DEFAULT dintr-un tabel avea acest comportament... acuma puteti opri acest comportament.. .sau chiar sa il mutati pe o coloana ulterioara !
- suport pentru seturi de caractere extins si pe InnoDB
- avem un nou maximum petnru indecsi... max 64 indecsi per tabel
MySQL 4.1.3
- prepared statements...
- Subseturi de caractere (collations) pentru multe altele si inclusiv RO. Uraaaaaaa ! Acuma facem diferenta intre aâã sau intre ºs sau intre þt...
- suport pentru time-zone
MySQL 4.1.6
- TIMESTAMP poate memora NULL... dar trebuie specificat clar... petnru ca spre deosebire de majoritatea aceste coloane nu iau default valoare NULL
MySQL 4.1.7
RECOMENDED de ieri 27 oct 2004.
In linii mari avem:
* Suport pentru subqueries si tabele derivate
* Optimizari viteza
- protocol server/client mai rapid
- index BTREE petnru tabele HEAP tables
* Functionalitati noi
- CREATE TABLE tbl_name2 LIKE tbl_name1
- OpenGIS
- Replicari prin SSL
* Implementari de standarde si compatibilitati la migrare
- SHOW WARNINGS
* International si/sau Local
- Suport Unicode prin utf8 si ucs2
- Character sets can be defined per column, table, and database. This allows for a high degree of flexibility in application design, particularly for multi-language Web sites.
- time-zone
* Usability enhancements
- comenzi HELP oferite de server
- in mysql_query() se pot rula mai multe cereri Ex: mysql_query("CREATE TABLE x SELECT * FROM y WHERE k>5; SELECT * FROM x;");
- o noua sintaxa pentru INSERT ... ON DUPLICATE KEY UPDATE
- o noua functie GROUP_CONCAT()
- un nou modificator pentru GROUP BY "WITH ROLLUP" care face chestii super beton (il gasitit la sectiunea 13.9.2 GROUP BY Modifiers) !
Am sa fac mai jos o trecere in revista a noutatilor considerate de mine importante de la versiunea 4.0 !
(evident in RO... originalele in EN le gasiti de la pana la schimband ultima cifra din url !)
MySQL 4.1.0
- Suport pentru CHARSET si COLLATION... care pana acuma lipsea cu desavarsire... se pot specifica pe baza de date... pe tabel sau chiar pe coloana !
- Functii noi CHARSET() si COLLATION() care intorc setul de caractere respectiv subsetul de caractere
- Posibilitatea de a seta o coloana la valoarea default folosind DEFAULT(col_name)
- verificarea pe DATE/DATETIME este putin mai stricta
- server side help pentru functiile MySQL
- replicarea se face corect daca se foloseste RAND() si mai nou merge si cu variabile definite de utilizator @var.
- DROP TEMPORARY TABLE doar sterge tabelul temporar... nu face termina tranzactia
- coloanele TIMESTAMP sunt acum SQL compatibile... si deci nu mai sunt suportate coloane TIMESTAMP de lungimi diferite si sunt returnate in formatul 'YYYY-MM-DD HH:MM:SS'
- multiple cereri... acum puteti trimite catre server in aceeasi request mai multe cereri SQL folosind ';' ca separator...
- pentru compatibilitate cu alte baze de date la cereri SELECt care nu au nevoie de un tabel se poate adauga 'FROM DUAL' pentru a fi compatibil...
- coloanele specificate CHAR sau VARCHAR mai mari de 255 sunt convertite automat in BLOB respectiv TEXT
- nou cuvand rezervat DIV pentru ca au fost introdusi operatorii MOD si DIV
- Subqueries: SELECT * from t1 where t1.a=(SELECT t2.b FROM t2) !!!MORTAL!!!!
- Tabele derivate: SELECT a.col1, b.col2 FROM (SELECT MAX(col1) AS col1 FROM root_table) a, other_table b WHERE a.col1=b.col1;
- suport UTF8 ... complet
- comentariu pentru fiecare coloana... care pot fi vazute cu SHOW FULL COLUMNS FROM tbl_name
- ALTER DATABASE... asta da... de mult dorita !
- suport pentru GIS vezi:
- SHOW [COUNT(*)] WARNINGS - pentru a obtine ultimele erori... nu numai ultima eroare ca pana acuma !
- la CREATE TABLE ... SELECT poti specifica tipul coloanei in noul tabel: CREATE TABLE foo (a TINYINT NOT NULL) SELECT b+1 AS a FROM bar;
- functie noua VARIANCE
- CREATE TABLE new_table LIKE existent_table - creaza mult mai repede un tabel...
MySQL 4.1.1
- multiple tablespaces pentru innoDB
- optiunea IGNORE pentru DELETE
- MATCH ... AGAINST( ... WITH QUERY EXPANSION)
- full text suporta acuma UTF8 si nu numai
- replicarea prin SSL... excelent pentru cei care folosesc replicare!
- coloanele CHAR, VARCHAR, si TEXT sunt masurate in caractere nu in bytes ca pana acuma !
- LIMIT nu mai accepta valori negative
- ATENTIE - parolele au acuma 41 caractere... atentie mare cu PHP... caci poti aparea erori... "Client... does not support authentication... consider upgradin client"
- functii noi: ADDTIME(), DATE(), DATEDIFF(), LAST_DAY(), MAKEDATE(), MAKETIME(), MICROSECOND(), SUBTIME(), TIME(), TIMEDIFF(), TIMESTAMP(), UTC_DATE(), UTC_TIME(), UTC_TIMESTAMP(), si WEEKOFYEAR()
- ANALYZE TABLE, OPTIMIZE TABLE, REPAIR TABLE, si FLUSH sunt memorate in binary-log si deci replicate si ele.
MySQL 4.1.2
- CURRENT_TIMESTAMP poate fi valoare default pentru coloane de tip TIMESTAMP... astfel coloana (un per tabel) se modifica singura la modificarea randului. Pana acuma prima coloana de tip TIMESTAMP NOT NULL fara o valoare DEFAULT dintr-un tabel avea acest comportament... acuma puteti opri acest comportament.. .sau chiar sa il mutati pe o coloana ulterioara !
- suport pentru seturi de caractere extins si pe InnoDB
- avem un nou maximum petnru indecsi... max 64 indecsi per tabel
MySQL 4.1.3
- prepared statements...
- Subseturi de caractere (collations) pentru multe altele si inclusiv RO. Uraaaaaaa ! Acuma facem diferenta intre aâã sau intre ºs sau intre þt...
- suport pentru time-zone
MySQL 4.1.6
- TIMESTAMP poate memora NULL... dar trebuie specificat clar... petnru ca spre deosebire de majoritatea aceste coloane nu iau default valoare NULL
MySQL 4.1.7
RECOMENDED de ieri 27 oct 2004.
In linii mari avem:
* Suport pentru subqueries si tabele derivate
* Optimizari viteza
- protocol server/client mai rapid
- index BTREE petnru tabele HEAP tables
* Functionalitati noi
- CREATE TABLE tbl_name2 LIKE tbl_name1
- OpenGIS
- Replicari prin SSL
* Implementari de standarde si compatibilitati la migrare
- SHOW WARNINGS
* International si/sau Local
- Suport Unicode prin utf8 si ucs2
- Character sets can be defined per column, table, and database. This allows for a high degree of flexibility in application design, particularly for multi-language Web sites.
- time-zone
* Usability enhancements
- comenzi HELP oferite de server
- in mysql_query() se pot rula mai multe cereri Ex: mysql_query("CREATE TABLE x SELECT * FROM y WHERE k>5; SELECT * FROM x;");
- o noua sintaxa pentru INSERT ... ON DUPLICATE KEY UPDATE
- o noua functie GROUP_CONCAT()
- un nou modificator pentru GROUP BY "WITH ROLLUP" care face chestii super beton (il gasitit la sectiunea 13.9.2 GROUP BY Modifiers) !