analyse.result
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:7k
- drop table if exists t1,t2;
- create table t1 (i int, j int, empty_string char(10), bool char(1), d date);
- insert into t1 values (1,2,"","Y","2002-03-03"), (3,4,"","N","2002-03-04"), (5,6,"","Y","2002-03-04"), (7,8,"","N","2002-03-05");
- select count(*) from t1 procedure analyse();
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- count(*) 4 4 1 1 0 0 4.0000 0.0000 ENUM('4') NOT NULL
- select * from t1 procedure analyse();
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- test.t1.i 1 7 1 1 0 0 4.0000 2.2361 ENUM('1','3','5','7') NOT NULL
- test.t1.j 2 8 1 1 0 0 5.0000 2.2361 ENUM('2','4','6','8') NOT NULL
- test.t1.empty_string 0 0 4 0 0.0000 NULL CHAR(0) NOT NULL
- test.t1.bool N Y 1 1 0 0 1.0000 NULL ENUM('N','Y') NOT NULL
- test.t1.d 2002-03-03 2002-03-05 10 10 0 0 10.0000 NULL ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
- select * from t1 procedure analyse(2);
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- test.t1.i 1 7 1 1 0 0 4.0000 2.2361 TINYINT(1) UNSIGNED NOT NULL
- test.t1.j 2 8 1 1 0 0 5.0000 2.2361 TINYINT(1) UNSIGNED NOT NULL
- test.t1.empty_string 0 0 4 0 0.0000 NULL CHAR(0) NOT NULL
- test.t1.bool N Y 1 1 0 0 1.0000 NULL ENUM('N','Y') NOT NULL
- test.t1.d 2002-03-03 2002-03-05 10 10 0 0 10.0000 NULL ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
- create table t2 select * from t1 procedure analyse();
- select * from t2;
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- test.t1.i 1 7 1 1 0 0 4.0000 2.2361 ENUM('1','3','5','7') NOT NULL
- test.t1.j 2 8 1 1 0 0 5.0000 2.2361 ENUM('2','4','6','8') NOT NULL
- test.t1.empty_string 0 0 4 0 0.0000 NULL CHAR(0) NOT NULL
- test.t1.bool N Y 1 1 0 0 1.0000 NULL ENUM('N','Y') NOT NULL
- test.t1.d 2002-03-03 2002-03-05 10 10 0 0 10.0000 NULL ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
- drop table t1,t2;
- EXPLAIN SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE();
- id select_type table type possible_keys key key_len ref rows Extra
- 1 PRIMARY <derived2> system NULL NULL NULL NULL 1
- 2 DERIVED NULL NULL NULL NULL NULL NULL NULL No tables used
- create table t1 (a int not null);
- create table t2 select * from t1 where 0=1 procedure analyse();
- show create table t2;
- Table Create Table
- t2 CREATE TABLE `t2` (
- `Field_name` binary(255) NOT NULL default '',
- `Min_value` binary(255) default NULL,
- `Max_value` binary(255) default NULL,
- `Min_length` bigint(11) NOT NULL default '0',
- `Max_length` bigint(11) NOT NULL default '0',
- `Empties_or_zeros` bigint(11) NOT NULL default '0',
- `Nulls` bigint(11) NOT NULL default '0',
- `Avg_value_or_avg_length` binary(255) NOT NULL default '',
- `Std` binary(255) default NULL,
- `Optimal_fieldtype` binary(64) NOT NULL default ''
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1
- select * from t1 where 0=1 procedure analyse();
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- insert into t1 values(1);
- drop table t2;
- create table t2 select * from t1 where 0=1 procedure analyse();
- show create table t2;
- Table Create Table
- t2 CREATE TABLE `t2` (
- `Field_name` binary(255) NOT NULL default '',
- `Min_value` binary(255) default NULL,
- `Max_value` binary(255) default NULL,
- `Min_length` bigint(11) NOT NULL default '0',
- `Max_length` bigint(11) NOT NULL default '0',
- `Empties_or_zeros` bigint(11) NOT NULL default '0',
- `Nulls` bigint(11) NOT NULL default '0',
- `Avg_value_or_avg_length` binary(255) NOT NULL default '',
- `Std` binary(255) default NULL,
- `Optimal_fieldtype` binary(64) NOT NULL default ''
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1
- select * from t2;
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- insert into t2 select * from t1 procedure analyse();
- select * from t2;
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- test.t1.a 1 1 1 1 0 0 1.0000 0.0000 ENUM('1') NOT NULL
- insert into t1 values(2);
- drop table t2;
- create table t2 select * from t1 where 0=1 procedure analyse();
- show create table t2;
- Table Create Table
- t2 CREATE TABLE `t2` (
- `Field_name` binary(255) NOT NULL default '',
- `Min_value` binary(255) default NULL,
- `Max_value` binary(255) default NULL,
- `Min_length` bigint(11) NOT NULL default '0',
- `Max_length` bigint(11) NOT NULL default '0',
- `Empties_or_zeros` bigint(11) NOT NULL default '0',
- `Nulls` bigint(11) NOT NULL default '0',
- `Avg_value_or_avg_length` binary(255) NOT NULL default '',
- `Std` binary(255) default NULL,
- `Optimal_fieldtype` binary(64) NOT NULL default ''
- ) ENGINE=MyISAM DEFAULT CHARSET=latin1
- select * from t2;
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- insert into t2 select * from t1 procedure analyse();
- select * from t2;
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- test.t1.a 1 2 1 1 0 0 1.5000 0.5000 ENUM('1','2') NOT NULL
- drop table t1,t2;
- create table t1 (v varchar(128));
- insert into t1 values ('abc'),('abc'def\hij"klm opq'),('''),('"'),('\'),('a '),('b''),('c"'),('d\'),(''b'),('"c'),('\d'),('a b'),('a''''b'),('a""""b'),('a\\\\b'),('' \"'),(''''),('""'),('\\'),('TheZEnd');
- select * from t1 procedure analyse();
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- test.t1.v " \ 1 19 0 0 3.7619 NULL ENUM('"','""','"c','' \"',''','''',''b','a b','a ','a""""b','a''''b','abc','abc'def\hij"klm opq','a\\\\b','b'','c"','d\','TheZEnd','\','\d','\\') NOT NULL
- drop table t1;
- create table t1 (d double);
- insert into t1 values (100000);
- select * from t1 procedure analyse (1,1);
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- test.t1.d 100000 100000 6 6 0 0 100000 0 MEDIUMINT(6) UNSIGNED NOT NULL
- drop table t1;
- create table t1 (product varchar(32), country_id int not null, year int,
- profit int);
- insert into t1 values ( 'Computer', 2,2000, 1200),
- ( 'TV', 1, 1999, 150),
- ( 'Calculator', 1, 1999,50),
- ( 'Computer', 1, 1999,1500),
- ( 'Computer', 1, 2000,1500),
- ( 'TV', 1, 2000, 150),
- ( 'TV', 2, 2000, 100),
- ( 'TV', 2, 2000, 100),
- ( 'Calculator', 1, 2000,75),
- ( 'Calculator', 2, 2000,75),
- ( 'TV', 1, 1999, 100),
- ( 'Computer', 1, 1999,1200),
- ( 'Computer', 2, 2000,1500),
- ( 'Calculator', 2, 2000,75),
- ( 'Phone', 3, 2003,10)
- ;
- create table t2 (country_id int primary key, country char(20) not null);
- insert into t2 values (1, 'USA'),(2,'India'), (3,'Finland');
- select product, sum(profit),avg(profit) from t1 group by product with rollup procedure analyse();
- Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
- test.t1.product Computer TV 2 8 0 0 4.2500 NULL ENUM('Computer','Phone','TV') NOT NULL
- sum(profit) 10 6900 2 4 0 0 1946 2868 ENUM('10','275','600','6900') NOT NULL
- avg(profit) 10.0000 1380.0000 7 9 0 0 394.6875 570.2003 ENUM('10.0000','68.7500','120.0000','1380.0000') NOT NULL
- drop table t1,t2;