2009. április 30., csütörtök

Barátunk: PROCEDURE ANALYSE()

Amikor átveszek egy siteot, vagy éppen elemzést írok, általában az első dolgok egyike, szokott lenni, a mező típusok megvizsgálása. A tapasztalatom, hogy az adatbázisok tervezésekor nem divat odafigyelni a megfelelő típusok kiválasztására. Pedig egy nagyobbacska adatbázisnál soronként az a pár byte rengeteget tud számítani. (de erről bővebben majd egy másik bejegyzésben...)

Annak megállapítására, hogy mely mezőtípusokkal van a baj egy remek irányadó eszköz a PROCEDURE ANALYSE(). Használjuk bátran!
Egy példa:


mysql> select * from cimszo  procedure analyse() \G;
*************************** 1. row ***************************
             Field_name: kozuleti.cimszo.cimszo_id
              Min_value: 3
              Max_value: 2005
             Min_length: 1
             Max_length: 4
       Empties_or_zeros: 0
                  Nulls: 0
Avg_value_or_avg_length: 1022.6979
                    Std: 588.6799
      Optimal_fieldtype: SMALLINT(4) UNSIGNED NOT NULL
*************************** 2. row ***************************
             Field_name: kozuleti.cimszo.megnev_hu
              Min_value: Ablaktiszt├şt├ís
              Max_value: Zsin├│rok, zsinegek
             Min_length: 3
             Max_length: 74
       Empties_or_zeros: 0
                  Nulls: 0
Avg_value_or_avg_length: 20.8089
                    Std: NULL
      Optimal_fieldtype: VARCHAR(74) NOT NULL
*************************** 3. row ***************************
             Field_name: kozuleti.cimszo.eredeti_id
              Min_value: 1916
              Max_value: 9999
             Min_length: 4
             Max_length: 4
       Empties_or_zeros: 0
                  Nulls: 0
Avg_value_or_avg_length: 4.0000
                    Std: NULL
      Optimal_fieldtype: SMALLINT(4) UNSIGNED NOT NULL
*************************** 4. row ***************************
             Field_name: kozuleti.cimszo.megnev_en
              Min_value: (fashion) clothing industry
              Max_value: zoos and arboreta
             Min_length: 3
             Max_length: 59
       Empties_or_zeros: 0
                  Nulls: 67
Avg_value_or_avg_length: 17.5992
                    Std: NULL
      Optimal_fieldtype: VARCHAR(59)
*************************** 5. row ***************************
             Field_name: kozuleti.cimszo.megnev_de
              Min_value: Abdichtung, Isolierung, Abdichtungs- und Isoliertechnik
              Max_value: Zylinderkopf
             Min_length: 3
             Max_length: 63
       Empties_or_zeros: 0
                  Nulls: 67
Avg_value_or_avg_length: 18.9833
                    Std: NULL
      Optimal_fieldtype: VARCHAR(63)
*************************** 6. row ***************************
             Field_name: kozuleti.cimszo.megnev_fr
              Min_value: Accessoires
              Max_value: Zingage, produits de zingage
             Min_length: 3
             Max_length: 82
       Empties_or_zeros: 0
                  Nulls: 66
Avg_value_or_avg_length: 22.8478
                    Std: NULL
      Optimal_fieldtype: VARCHAR(82)
*************************** 7. row ***************************
             Field_name: kozuleti.cimszo.megnev_it
              Min_value: Aanalisi idriche
              Max_value: Zincatura a caldo, prodotti zincati a caldo
             Min_length: 3
             Max_length: 69
       Empties_or_zeros: 0
                  Nulls: 66
Avg_value_or_avg_length: 22.0651
                    Std: NULL
      Optimal_fieldtype: VARCHAR(69)
*************************** 8. row ***************************
             Field_name: kozuleti.cimszo.megnev_ro
              Min_value: Abrazive, unelte ┼či echipamente pentru scule abrazive
              Max_value: Zoo marketuri
             Min_length: 4
             Max_length: 75
       Empties_or_zeros: 0
                  Nulls: 67
Avg_value_or_avg_length: 22.3515
                    Std: NULL
      Optimal_fieldtype: VARCHAR(75)
*************************** 9. row ***************************
             Field_name: kozuleti.cimszo.cegdb
              Min_value: 1
              Max_value: 5050
             Min_length: 1
             Max_length: 4
       Empties_or_zeros: 0
                  Nulls: 0
Avg_value_or_avg_length: 91.5638
                    Std: 282.9007
      Optimal_fieldtype: SMALLINT(4) UNSIGNED NOT NULL
9 rows in set (0.03 sec)

Természetesen ez nem szentírás, de jó irányadó lehet.

0 megjegyzés:

Megjegyzés küldése