1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00
Files
mariadb/mysql-test/main/statistics_json.result
Sergei Petrunia 5c709ef18c MDEV-26724 Endless loop in json_escape_to_string upon ... empty string
Correctly handle empty string when [un]escaping JSON
2022-01-19 18:10:11 +03:00

7872 lines
234 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# Test that we can store JSON arrays in histogram field mysql.column_stats when histogram_type=JSON
#
set @SINGLE_PREC_TYPE='single_prec_hb';
set @DOUBLE_PREC_TYPE='double_prec_hb';
set @DEFAULT_HIST_TYPE=@@histogram_type;
set @SINGLE_PREC_TYPE='JSON_HB';
set @DOUBLE_PREC_TYPE='JSON_HB';
set @DEFAULT_HIST_TYPE='JSON_HB';
drop table if exists t1,t2;
set @save_use_stat_tables=@@use_stat_tables;
set @save_histogram_size=@@global.histogram_size;
set @@global.histogram_size=0,@@local.histogram_size=0;
set @save_hist_type=@DEFAULT_HIST_TYPE;
set histogram_type=@SINGLE_PREC_TYPE;
DELETE FROM mysql.table_stats;
DELETE FROM mysql.column_stats;
DELETE FROM mysql.index_stats;
set use_stat_tables='preferably';
CREATE TABLE t1 (
a int NOT NULL PRIMARY KEY,
b varchar(32),
c char(16),
d date,
e double,
f bit(3),
INDEX idx1 (b, e),
INDEX idx2 (c, d),
INDEX idx3 (d),
INDEX idx4 (e, b, d)
) ENGINE= MYISAM;
INSERT INTO t1 VALUES
(0, NULL, NULL, NULL, NULL, NULL),
(7, 'xxxxxxxxxxxxxxxxxxxxxxxxxx', 'dddddddd', '1990-05-15', 0.1, b'100'),
(17, 'vvvvvvvvvvvvv', 'aaaa', '1989-03-12', 0.01, b'101'),
(1, 'vvvvvvvvvvvvv', NULL, '1989-03-12', 0.01, b'100'),
(12, 'wwwwwwwwwwwwwwwwwwwwwwwwwwww', 'dddddddd', '1999-07-23', 0.112, b'001'),
(23, 'vvvvvvvvvvvvv', 'dddddddd', '1999-07-23', 0.1, b'100'),
(8, 'vvvvvvvvvvvvv', 'aaaa', '1999-07-23', 0.1, b'100'),
(22, 'xxxxxxxxxxxxxxxxxxxxxxxxxx', 'aaaa', '1989-03-12', 0.112, b'001'),
(31, 'wwwwwwwwwwwwwwwwwwwwwwwwwwww', 'aaaa', '1999-07-23', 0.01, b'001'),
(10, NULL, 'aaaa', NULL, 0.01, b'010'),
(5, 'wwwwwwwwwwwwwwwwwwwwwwwwwwww', 'dddddddd', '1999-07-23', 0.1, b'100'),
(15, 'vvvvvvvvvvvvv', 'ccccccccc', '1990-05-15', 0.1, b'010'),
(30, NULL, 'bbbbbb', NULL, NULL, b'100'),
(38, 'zzzzzzzzzzzzzzzzzz', 'bbbbbb', NULL, NULL, NULL),
(18, 'zzzzzzzzzzzzzzzzzz', 'ccccccccc', '1990-05-15', 0.01, b'010'),
(9, 'yyy', 'bbbbbb', '1998-08-28', 0.01, NULL),
(29, 'vvvvvvvvvvvvv', 'dddddddd', '1999-07-23', 0.012, b'010'),
(3, 'yyy', 'dddddddd', '1990-05-15', 0.112, b'010'),
(39, 'zzzzzzzzzzzzzzzzzz', 'bbbbbb', NULL, 0.01, b'100'),
(14, 'xxxxxxxxxxxxxxxxxxxxxxxxxx', 'ccccccccc', '1990-05-15', 0.1, b'100'),
(40, 'zzzzzzzzzzzzzzzzzz', 'bbbbbb', '1989-03-12', NULL, NULL),
(44, NULL, 'aaaa', '1989-03-12', NULL, b'010'),
(19, 'vvvvvvvvvvvvv', 'ccccccccc', '1990-05-15', 0.012, b'011'),
(21, 'zzzzzzzzzzzzzzzzzz', 'dddddddd', '1989-03-12', 0.112, b'100'),
(45, NULL, NULL, '1989-03-12', NULL, b'011'),
(2, 'wwwwwwwwwwwwwwwwwwwwwwwwwwww', 'ccccccccc', '1990-05-15', 0.1, b'001'),
(35, 'yyy', 'aaaa', '1990-05-15', 0.05, b'011'),
(4, 'vvvvvvvvvvvvv', 'dddddddd', '1999-07-23', 0.01, b'101'),
(47, NULL, 'aaaa', '1990-05-15', 0.05, b'010'),
(42, NULL, 'ccccccccc', '1989-03-12', 0.01, b'010'),
(32, NULL, 'bbbbbb', '1990-05-15', 0.01, b'011'),
(49, 'wwwwwwwwwwwwwwwwwwwwwwwwwwww' , 'aaaa', '1990-05-15', NULL, NULL),
(43, 'wwwwwwwwwwwwwwwwwwwwwwwwwwww' , 'bbbbbb', '1990-05-15', NULL, b'100'),
(37, 'yyy', NULL, '1989-03-12', 0.05, b'011'),
(41, 'xxxxxxxxxxxxxxxxxxxxxxxxxx', 'ccccccccc', '1990-05-15', 0.05, NULL),
(34, 'yyy', NULL, NULL, NULL, NULL),
(33, 'zzzzzzzzzzzzzzzzzz', 'dddddddd', '1989-03-12', 0.05, b'011'),
(24, 'wwwwwwwwwwwwwwwwwwwwwwwwwwww', 'dddddddd', '1990-05-15', 0.01, b'101'),
(11, 'yyy', 'ccccccccc', '1999-07-23', 0.1, NULL),
(25, 'zzzzzzzzzzzzzzzzzz', 'bbb', '1989-03-12', 0.01, b'101');
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t1 40
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
SELECT COUNT(*) FROM t1;
COUNT(*)
40
SELECT * FROM mysql.column_stats
WHERE db_name='test' AND table_name='t1' AND column_name='a';
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
SELECT MIN(t1.a), MAX(t1.a),
(SELECT COUNT(*) FROM t1 WHERE t1.b IS NULL) /
(SELECT COUNT(*) FROM t1) AS "NULLS_RATIO(t1.a)",
(SELECT COUNT(t1.a) FROM t1) /
(SELECT COUNT(DISTINCT t1.a) FROM t1) AS "AVG_FREQUENCY(t1.a)"
FROM t1;
MIN(t1.a) MAX(t1.a) NULLS_RATIO(t1.a) AVG_FREQUENCY(t1.a)
0 49 0.2000 1.0000
SELECT * FROM mysql.column_stats
WHERE db_name='test' AND table_name='t1' AND column_name='b';
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
SELECT MIN(t1.b), MAX(t1.b),
(SELECT COUNT(*) FROM t1 WHERE t1.b IS NULL) /
(SELECT COUNT(*) FROM t1) AS "NULLS_RATIO(t1.b)",
(SELECT COUNT(t1.b) FROM t1) /
(SELECT COUNT(DISTINCT t1.b) FROM t1) AS "AVG_FREQUENCY(t1.b)"
FROM t1;
MIN(t1.b) MAX(t1.b) NULLS_RATIO(t1.b) AVG_FREQUENCY(t1.b)
vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 6.4000
SELECT * FROM mysql.column_stats
WHERE db_name='test' AND table_name='t1' AND column_name='c';
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
SELECT MIN(t1.c), MAX(t1.c),
(SELECT COUNT(*) FROM t1 WHERE t1.c IS NULL) /
(SELECT COUNT(*) FROM t1) AS "NULLS_RATIO(t1.c)",
(SELECT COUNT(t1.c) FROM t1) /
(SELECT COUNT(DISTINCT t1.c) FROM t1) AS "AVG_FREQUENCY(t1.c)"
FROM t1;
MIN(t1.c) MAX(t1.c) NULLS_RATIO(t1.c) AVG_FREQUENCY(t1.c)
aaaa dddddddd 0.1250 7.0000
SELECT * FROM mysql.column_stats
WHERE db_name='test' AND table_name='t1' AND column_name='d';
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
SELECT MIN(t1.d), MAX(t1.d),
(SELECT COUNT(*) FROM t1 WHERE t1.d IS NULL) /
(SELECT COUNT(*) FROM t1) AS "NULLS_RATIO(t1.d)",
(SELECT COUNT(t1.d) FROM t1) /
(SELECT COUNT(DISTINCT t1.d) FROM t1) AS "AVG_FREQUENCY(t1.d)"
FROM t1;
MIN(t1.d) MAX(t1.d) NULLS_RATIO(t1.d) AVG_FREQUENCY(t1.d)
1989-03-12 1999-07-23 0.1500 8.5000
SELECT * FROM mysql.column_stats
WHERE db_name='test' AND table_name='t1' AND column_name='e';
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
SELECT MIN(t1.e), MAX(t1.e),
(SELECT COUNT(*) FROM t1 WHERE t1.e IS NULL) /
(SELECT COUNT(*) FROM t1) AS "NULLS_RATIO(t1.e)",
(SELECT COUNT(t1.e) FROM t1) /
(SELECT COUNT(DISTINCT t1.e) FROM t1) AS "AVG_FREQUENCY(t1.e)"
FROM t1;
MIN(t1.e) MAX(t1.e) NULLS_RATIO(t1.e) AVG_FREQUENCY(t1.e)
0.01 0.112 0.2250 6.2000
SELECT * FROM mysql.index_stats
WHERE db_name='test' AND table_name='t1' AND index_name='idx1';
db_name table_name index_name prefix_arity avg_frequency
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
SELECT
(SELECT COUNT(*) FROM t1 WHERE t1.b IS NOT NULL) /
(SELECT COUNT(DISTINCT t1.b) FROM t1 WHERE t1.b IS NOT NULL)
AS 'ARITY 1',
(SELECT COUNT(*) FROM t1 WHERE t1.b IS NOT NULL AND t1.e IS NOT NULL) /
(SELECT COUNT(DISTINCT t1.b, t1.e) FROM t1
WHERE t1.b IS NOT NULL AND t1.e IS NOT NULL)
AS 'ARITY 2';
ARITY 1 ARITY 2
6.4000 1.6875
SELECT * FROM mysql.index_stats
WHERE db_name='test' AND table_name='t1' AND index_name='idx2';
db_name table_name index_name prefix_arity avg_frequency
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
SELECT
(SELECT COUNT(*) FROM t1 WHERE t1.c IS NOT NULL) /
(SELECT COUNT(DISTINCT t1.c) FROM t1 WHERE t1.c IS NOT NULL)
AS 'ARITY 1',
(SELECT COUNT(*) FROM t1 WHERE t1.c IS NOT NULL AND t1.d IS NOT NULL) /
(SELECT COUNT(DISTINCT t1.c, t1.d) FROM t1
WHERE t1.c IS NOT NULL AND t1.d IS NOT NULL)
AS 'ARITY 2';
ARITY 1 ARITY 2
7.0000 2.3846
SELECT * FROM mysql.index_stats
WHERE db_name='test' AND table_name='t1' AND index_name='idx3';
db_name table_name index_name prefix_arity avg_frequency
test t1 idx3 1 8.5000
SELECT
(SELECT COUNT(*) FROM t1 WHERE t1.d IS NOT NULL) /
(SELECT COUNT(DISTINCT t1.d) FROM t1 WHERE t1.d IS NOT NULL)
AS 'ARITY 1';
ARITY 1
8.5000
SELECT * FROM mysql.index_stats
WHERE db_name='test' AND table_name='t1' AND index_name='idx4';
db_name table_name index_name prefix_arity avg_frequency
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
SELECT
(SELECT COUNT(*) FROM t1 WHERE t1.e IS NOT NULL) /
(SELECT COUNT(DISTINCT t1.e) FROM t1 WHERE t1.e IS NOT NULL)
AS 'ARITY 1',
(SELECT COUNT(*) FROM t1 WHERE t1.e IS NOT NULL AND t1.b IS NOT NULL) /
(SELECT COUNT(DISTINCT t1.e, t1.b) FROM t1
WHERE t1.e IS NOT NULL AND t1.b IS NOT NULL)
AS 'ARITY 2',
(SELECT COUNT(*) FROM t1
WHERE t1.e IS NOT NULL AND t1.b IS NOT NULL AND t1.d IS NOT NULL) /
(SELECT COUNT(DISTINCT t1.e, t1.b, t1.d) FROM t1
WHERE t1.e IS NOT NULL AND t1.b IS NOT NULL AND t1.d IS NOT NULL)
AS 'ARITY 3';
ARITY 1 ARITY 2 ARITY 3
6.2000 1.6875 1.1304
DELETE FROM mysql.column_stats;
set histogram_size=4;
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
SELECT db_name, table_name, column_name,
min_value, max_value,
nulls_ratio, avg_frequency,
hist_size, hist_type, decode_histogram(hist_type,histogram)
FROM mysql.column_stats
ORDER BY db_name, table_name, column_name;
db_name table_name column_name min_value max_value nulls_ratio avg_frequency hist_size hist_type decode_histogram(hist_type,histogram)
test t1 a 0 49 0.0000 1.0000 4 JSON_HB {
"histogram_hb_v2": [
{
"start": "0",
"size": 0.25,
"ndv": 10
},
{
"start": "11",
"size": 0.25,
"ndv": 10
},
{
"start": "24",
"size": 0.25,
"ndv": 10
},
{
"start": "38",
"end": "49",
"size": 0.25,
"ndv": 10
}
]
}
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 6.4000 4 JSON_HB {
"histogram_hb_v2": [
{
"start": "vvvvvvvvvvvvv",
"size": 0.25,
"ndv": 1
},
{
"start": "wwwwwwwwwwwwwwwwwwwwwwwwwwww",
"size": 0.25,
"ndv": 2
},
{
"start": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
"size": 0.25,
"ndv": 2
},
{
"start": "yyy",
"end": "zzzzzzzzzzzzzzzzzz",
"size": 0.25,
"ndv": 2
}
]
}
test t1 c aaaa dddddddd 0.1250 7.0000 4 JSON_HB {
"histogram_hb_v2": [
{
"start": "aaaa",
"size": 0.257142857,
"ndv": 1
},
{
"start": "bbb",
"size": 0.228571429,
"ndv": 2
},
{
"start": "ccccccccc",
"size": 0.228571429,
"ndv": 1
},
{
"start": "dddddddd",
"end": "dddddddd",
"size": 0.285714286,
"ndv": 1
}
]
}
test t1 d 1989-03-12 1999-07-23 0.1500 8.5000 4 JSON_HB {
"histogram_hb_v2": [
{
"start": "1989-03-12",
"size": 0.323529412,
"ndv": 1
},
{
"start": "1990-05-15",
"size": 0.411764706,
"ndv": 1
},
{
"start": "1998-08-28",
"size": 0.235294118,
"ndv": 2
},
{
"start": "1999-07-23",
"end": "1999-07-23",
"size": 0.029411765,
"ndv": 1
}
]
}
test t1 e 0.01 0.112 0.2250 6.2000 4 JSON_HB {
"histogram_hb_v2": [
{
"start": "0.01",
"size": 0.387096774,
"ndv": 1
},
{
"start": "0.012",
"size": 0.225806452,
"ndv": 2
},
{
"start": "0.1",
"size": 0.258064516,
"ndv": 1
},
{
"start": "0.112",
"end": "0.112",
"size": 0.129032258,
"ndv": 1
}
]
}
test t1 f 1 5 0.2000 6.4000 4 JSON_HB {
"histogram_hb_v2": [
{
"start": "\u0001",
"size": 0.25,
"ndv": 2
},
{
"start": "\u0002",
"size": 0.25,
"ndv": 2
},
{
"start": "\u0003",
"size": 0.25,
"ndv": 2
},
{
"start": "\u0004",
"end": "\u0005",
"size": 0.25,
"ndv": 2
}
]
}
DELETE FROM mysql.column_stats;
set histogram_size=8;
set histogram_type=@DOUBLE_PREC_TYPE;
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
SELECT db_name, table_name, column_name,
min_value, max_value,
nulls_ratio, avg_frequency,
hist_size, hist_type, decode_histogram(hist_type,histogram)
FROM mysql.column_stats
ORDER BY db_name, table_name, column_name;
db_name table_name column_name min_value max_value nulls_ratio avg_frequency hist_size hist_type decode_histogram(hist_type,histogram)
test t1 a 0 49 0.0000 1.0000 8 JSON_HB {
"histogram_hb_v2": [
{
"start": "0",
"size": 0.125,
"ndv": 5
},
{
"start": "5",
"size": 0.125,
"ndv": 5
},
{
"start": "11",
"size": 0.125,
"ndv": 5
},
{
"start": "18",
"size": 0.125,
"ndv": 5
},
{
"start": "24",
"size": 0.125,
"ndv": 5
},
{
"start": "32",
"size": 0.125,
"ndv": 5
},
{
"start": "38",
"size": 0.125,
"ndv": 5
},
{
"start": "43",
"end": "49",
"size": 0.125,
"ndv": 5
}
]
}
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 6.4000 5 JSON_HB {
"histogram_hb_v2": [
{
"start": "vvvvvvvvvvvvv",
"size": 0.25,
"ndv": 1
},
{
"start": "wwwwwwwwwwwwwwwwwwwwwwwwwwww",
"size": 0.21875,
"ndv": 1
},
{
"start": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
"size": 0.125,
"ndv": 1
},
{
"start": "yyy",
"size": 0.1875,
"ndv": 1
},
{
"start": "zzzzzzzzzzzzzzzzzz",
"end": "zzzzzzzzzzzzzzzzzz",
"size": 0.21875,
"ndv": 1
}
]
}
test t1 c aaaa dddddddd 0.1250 7.0000 5 JSON_HB {
"histogram_hb_v2": [
{
"start": "aaaa",
"size": 0.257142857,
"ndv": 1
},
{
"start": "bbb",
"size": 0.028571429,
"ndv": 1
},
{
"start": "bbbbbb",
"size": 0.2,
"ndv": 1
},
{
"start": "ccccccccc",
"size": 0.228571429,
"ndv": 1
},
{
"start": "dddddddd",
"end": "dddddddd",
"size": 0.285714286,
"ndv": 1
}
]
}
test t1 d 1989-03-12 1999-07-23 0.1500 8.5000 4 JSON_HB {
"histogram_hb_v2": [
{
"start": "1989-03-12",
"size": 0.323529412,
"ndv": 1
},
{
"start": "1990-05-15",
"size": 0.411764706,
"ndv": 1
},
{
"start": "1998-08-28",
"size": 0.029411765,
"ndv": 1
},
{
"start": "1999-07-23",
"end": "1999-07-23",
"size": 0.235294118,
"ndv": 1
}
]
}
test t1 e 0.01 0.112 0.2250 6.2000 5 JSON_HB {
"histogram_hb_v2": [
{
"start": "0.01",
"size": 0.387096774,
"ndv": 1
},
{
"start": "0.012",
"size": 0.064516129,
"ndv": 1
},
{
"start": "0.05",
"size": 0.161290323,
"ndv": 1
},
{
"start": "0.1",
"size": 0.258064516,
"ndv": 1
},
{
"start": "0.112",
"end": "0.112",
"size": 0.129032258,
"ndv": 1
}
]
}
test t1 f 1 5 0.2000 6.4000 5 JSON_HB {
"histogram_hb_v2": [
{
"start": "\u0001",
"size": 0.125,
"ndv": 1
},
{
"start": "\u0002",
"size": 0.25,
"ndv": 1
},
{
"start": "\u0003",
"size": 0.1875,
"ndv": 1
},
{
"start": "\u0004",
"size": 0.3125,
"ndv": 1
},
{
"start": "\u0005",
"end": "\u0005",
"size": 0.125,
"ndv": 1
}
]
}
DELETE FROM mysql.column_stats;
set histogram_size= 0;
set histogram_type=@SINGLE_PREC_TYPE;
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
CREATE TABLE t3 (
a int NOT NULL PRIMARY KEY,
b varchar(32),
c char(16),
INDEX idx (c)
) ENGINE=MYISAM;
INSERT INTO t3 VALUES
(0, NULL, NULL),
(7, 'xxxxxxxxxxxxxxxxxxxxxxxxxx', 'dddddddd'),
(17, 'vvvvvvvvvvvvv', 'aaaa'),
(1, 'vvvvvvvvvvvvv', NULL),
(12, 'wwwwwwwwwwwwwwwwwwwwwwwwwwww', 'dddddddd'),
(23, 'vvvvvvvvvvvvv', 'dddddddd'),
(8, 'vvvvvvvvvvvvv', 'aaaa'),
(22, 'xxxxxxxxxxxxxxxxxxxxxxxxxx', 'aaaa'),
(31, 'wwwwwwwwwwwwwwwwwwwwwwwwwwww', 'aaaa'),
(10, NULL, 'aaaa'),
(5, 'wwwwwwwwwwwwwwwwwwwwwwwwwwww', 'dddddddd'),
(15, 'vvvvvvvvvvvvv', 'ccccccccc'),
(30, NULL, 'bbbbbb'),
(38, 'zzzzzzzzzzzzzzzzzz', 'bbbbbb'),
(18, 'zzzzzzzzzzzzzzzzzz', 'ccccccccc'),
(9, 'yyy', 'bbbbbb'),
(29, 'vvvvvvvvvvvvv', 'dddddddd');
ANALYZE TABLE t3;
Table Op Msg_type Msg_text
test.t3 analyze status Engine-independent statistics collected
test.t3 analyze status OK
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t1 40
test t3 17
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
test t3 a 0 38 0.0000 4.0000 1.0000 0 NULL NULL
test t3 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.1765 18.0714 2.8000 0 NULL NULL
test t3 c aaaa dddddddd 0.1176 6.4000 3.7500 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
test t3 PRIMARY 1 1.0000
test t3 idx 1 3.7500
ALTER TABLE t1 RENAME TO s1;
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test s1 40
test t3 17
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test s1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test s1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test s1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test s1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test s1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test s1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
test t3 a 0 38 0.0000 4.0000 1.0000 0 NULL NULL
test t3 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.1765 18.0714 2.8000 0 NULL NULL
test t3 c aaaa dddddddd 0.1176 6.4000 3.7500 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test s1 PRIMARY 1 1.0000
test s1 idx1 1 6.4000
test s1 idx1 2 1.6875
test s1 idx2 1 7.0000
test s1 idx2 2 2.3846
test s1 idx3 1 8.5000
test s1 idx4 1 6.2000
test s1 idx4 2 1.6875
test s1 idx4 3 1.1304
test t3 PRIMARY 1 1.0000
test t3 idx 1 3.7500
RENAME TABLE s1 TO t1;
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t1 40
test t3 17
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
test t3 a 0 38 0.0000 4.0000 1.0000 0 NULL NULL
test t3 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.1765 18.0714 2.8000 0 NULL NULL
test t3 c aaaa dddddddd 0.1176 6.4000 3.7500 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
test t3 PRIMARY 1 1.0000
test t3 idx 1 3.7500
DROP TABLE t3;
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t1 40
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
CREATE TEMPORARY TABLE t0 (
a int NOT NULL PRIMARY KEY,
b varchar(32)
);
INSERT INTO t0 SELECT a,b FROM t1;
ALTER TABLE t1 CHANGE COLUMN b x varchar(32),
CHANGE COLUMN e y double;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`x` varchar(32) DEFAULT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`y` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx1` (`x`,`y`),
KEY `idx2` (`c`,`d`),
KEY `idx3` (`d`),
KEY `idx4` (`y`,`x`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
test t1 x vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 y 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
ALTER TABLE t1 CHANGE COLUMN x b varchar(32),
CHANGE COLUMN y e double;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`b` varchar(32) DEFAULT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx1` (`b`,`e`),
KEY `idx2` (`c`,`d`),
KEY `idx3` (`d`),
KEY `idx4` (`e`,`b`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
ALTER TABLE t1 RENAME TO s1, CHANGE COLUMN b x varchar(32);
SHOW CREATE TABLE s1;
Table Create Table
s1 CREATE TABLE `s1` (
`a` int(11) NOT NULL,
`x` varchar(32) DEFAULT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx1` (`x`,`e`),
KEY `idx2` (`c`,`d`),
KEY `idx3` (`d`),
KEY `idx4` (`e`,`x`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test s1 40
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test s1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test s1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test s1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test s1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test s1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
test s1 x vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test s1 PRIMARY 1 1.0000
test s1 idx1 1 6.4000
test s1 idx1 2 1.6875
test s1 idx2 1 7.0000
test s1 idx2 2 2.3846
test s1 idx3 1 8.5000
test s1 idx4 1 6.2000
test s1 idx4 2 1.6875
test s1 idx4 3 1.1304
ALTER TABLE s1 RENAME TO t1, CHANGE COLUMN x b varchar(32);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`b` varchar(32) DEFAULT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx1` (`b`,`e`),
KEY `idx2` (`c`,`d`),
KEY `idx3` (`d`),
KEY `idx4` (`e`,`b`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t1 40
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
ALTER TABLE t1 CHANGE COLUMN b x varchar(30);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`x` varchar(30) DEFAULT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx1` (`x`,`e`),
KEY `idx2` (`c`,`d`),
KEY `idx3` (`d`),
KEY `idx4` (`e`,`x`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
ALTER TABLE t1 CHANGE COLUMN x b varchar(32);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`b` varchar(32) DEFAULT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx1` (`b`,`e`),
KEY `idx2` (`c`,`d`),
KEY `idx3` (`d`),
KEY `idx4` (`e`,`b`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS(b) INDEXES(idx1, idx4);
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/save_column_stats'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n'
FROM mysql.column_stats WHERE column_name='b';
SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/save_index_stats'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n'
FROM mysql.index_stats WHERE index_name IN ('idx1', 'idx4');
ALTER TABLE t1 CHANGE COLUMN b x varchar(30);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`x` varchar(30) DEFAULT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx1` (`x`,`e`),
KEY `idx2` (`c`,`d`),
KEY `idx3` (`d`),
KEY `idx4` (`e`,`x`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
ALTER TABLE t1 CHANGE COLUMN x b varchar(32);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`b` varchar(32) DEFAULT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx1` (`b`,`e`),
KEY `idx2` (`c`,`d`),
KEY `idx3` (`d`),
KEY `idx4` (`e`,`b`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/save_column_stats'
INTO TABLE mysql.column_stats
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/save_index_stats'
INTO TABLE mysql.index_stats
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
ALTER TABLE t1 DROP COLUMN b;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx1` (`e`),
KEY `idx2` (`c`,`d`),
KEY `idx3` (`d`),
KEY `idx4` (`e`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
DROP INDEX idx2 ON t1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx1` (`e`),
KEY `idx3` (`d`),
KEY `idx4` (`e`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx3 1 8.5000
DROP INDEX idx1 ON t1;
DROP INDEX idx4 ON t1;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx3` (`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
ALTER TABLE t1 ADD COLUMN b varchar(32);
CREATE INDEX idx1 ON t1(b, e);
CREATE INDEX idx2 ON t1(c, d);
CREATE INDEX idx4 ON t1(e, b, d);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
`b` varchar(32) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx3` (`d`),
KEY `idx1` (`b`,`e`),
KEY `idx2` (`c`,`d`),
KEY `idx4` (`e`,`b`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx3 1 8.5000
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS(b) INDEXES(idx1, idx2, idx4);
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b NULL NULL 1.0000 NULL NULL 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 NULL
test t1 idx1 2 NULL
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 NULL
test t1 idx4 3 NULL
UPDATE t1 SET b=(SELECT b FROM t0 WHERE t0.a= t1.a);
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS(b) INDEXES(idx1, idx2, idx4);
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
ALTER TABLE t1 DROP COLUMN b,
DROP INDEX idx1, DROP INDEX idx2, DROP INDEX idx4;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx3` (`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx3 1 8.5000
ALTER TABLE t1 ADD COLUMN b varchar(32);
ALTER TABLE t1
ADD INDEX idx1 (b, e), ADD INDEX idx2 (c, d), ADD INDEX idx4 (e, b, d);
UPDATE t1 SET b=(SELECT b FROM t0 WHERE t0.a= t1.a);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) NOT NULL,
`c` char(16) DEFAULT NULL,
`d` date DEFAULT NULL,
`e` double DEFAULT NULL,
`f` bit(3) DEFAULT NULL,
`b` varchar(32) DEFAULT NULL,
PRIMARY KEY (`a`),
KEY `idx3` (`d`),
KEY `idx1` (`b`,`e`),
KEY `idx2` (`c`,`d`),
KEY `idx4` (`e`,`b`,`d`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx3 1 8.5000
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS(b) INDEXES(idx1, idx2, idx4);
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
DELETE FROM mysql.table_stats;
DELETE FROM mysql.column_stats;
DELETE FROM mysql.index_stats;
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS() INDEXES();
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t1 40
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS(c,e,b) INDEXES(idx2,idx4);
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t1 40
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
DELETE FROM mysql.index_stats WHERE table_name='t1' AND index_name='primary';
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS() INDEXES(primary);
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
DELETE FROM mysql.table_stats;
DELETE FROM mysql.column_stats;
DELETE FROM mysql.index_stats;
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS ALL INDEXES ALL;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t1 40
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t1 idx1 2 1.6875
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 1.6875
test t1 idx4 3 1.1304
CREATE TABLE t2 LIKE t1;
ALTER TABLE t2 ENGINE=InnoDB;
INSERT INTO t2 SELECT * FROM t1;
set optimizer_switch='extended_keys=off';
ANALYZE TABLE t2;
Table Op Msg_type Msg_text
test.t2 analyze status Engine-independent statistics collected
test.t2 analyze status OK
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t1 40
test t2 40
SELECT * FROM mysql.column_stats ORDER BY column_name, table_name;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t2 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t2 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t2 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t2 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t2 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
test t2 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t2 PRIMARY 1 1.0000
test t1 idx1 1 6.4000
test t2 idx1 1 6.4000
test t1 idx1 2 1.6875
test t2 idx1 2 1.6875
test t1 idx2 1 7.0000
test t2 idx2 1 7.0000
test t1 idx2 2 2.3846
test t2 idx2 2 2.3846
test t1 idx3 1 8.5000
test t2 idx3 1 8.5000
test t1 idx4 1 6.2000
test t2 idx4 1 6.2000
test t1 idx4 2 1.6875
test t2 idx4 2 1.6875
test t1 idx4 3 1.1304
test t2 idx4 3 1.1304
DELETE FROM mysql.table_stats;
DELETE FROM mysql.column_stats;
DELETE FROM mysql.index_stats;
set optimizer_switch='extended_keys=on';
ANALYZE TABLE t2;
Table Op Msg_type Msg_text
test.t2 analyze status Engine-independent statistics collected
test.t2 analyze status OK
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t2 40
SELECT * FROM mysql.column_stats ORDER BY column_name;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t2 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t2 b vvvvvvvvvvvvv zzzzzzzzzzzzzzzzzz 0.2000 17.1250 6.4000 0 NULL NULL
test t2 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t2 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t2 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t2 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t2 PRIMARY 1 1.0000
test t2 idx1 1 6.4000
test t2 idx1 2 1.6875
test t2 idx1 3 1.0000
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx2 3 1.0000
test t2 idx3 1 8.5000
test t2 idx3 2 1.0000
test t2 idx4 1 6.2000
test t2 idx4 2 1.6875
test t2 idx4 3 1.1304
test t2 idx4 4 1.0000
ALTER TABLE t2 DROP PRIMARY KEY, DROP INDEX idx1;
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx3 1 8.5000
test t2 idx4 1 6.2000
test t2 idx4 2 1.6875
test t2 idx4 3 1.1304
UPDATE t2 SET b=0 WHERE b IS NULL;
ALTER TABLE t2 ADD PRIMARY KEY (a,b);
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx3 1 8.5000
test t2 idx4 1 6.2000
test t2 idx4 2 1.6875
test t2 idx4 3 1.1304
ANALYZE TABLE t2 PERSISTENT FOR COLUMNS() INDEXES ALL;
Table Op Msg_type Msg_text
test.t2 analyze status Engine-independent statistics collected
test.t2 analyze status OK
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t2 PRIMARY 1 1.0000
test t2 PRIMARY 2 1.0000
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx2 3 1.0000
test t2 idx2 4 1.0000
test t2 idx3 1 8.5000
test t2 idx3 2 1.0000
test t2 idx3 3 1.0000
test t2 idx4 1 6.2000
test t2 idx4 2 1.7222
test t2 idx4 3 1.1154
test t2 idx4 4 1.0000
ALTER TABLE t2 CHANGE COLUMN b b varchar(30);
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx3 1 8.5000
ANALYZE TABLE t2 PERSISTENT FOR COLUMNS ALL INDEXES ALL;
Table Op Msg_type Msg_text
test.t2 analyze status Engine-independent statistics collected
test.t2 analyze status OK
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t2 PRIMARY 1 1.0000
test t2 PRIMARY 2 1.0000
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx2 3 1.0000
test t2 idx2 4 1.0000
test t2 idx3 1 8.5000
test t2 idx3 2 1.0000
test t2 idx3 3 1.0000
test t2 idx4 1 6.2000
test t2 idx4 2 1.7222
test t2 idx4 3 1.1154
test t2 idx4 4 1.0000
ALTER TABLE t2 CHANGE COLUMN b b varchar(32);
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t2 PRIMARY 1 1.0000
test t2 PRIMARY 2 1.0000
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx2 3 1.0000
test t2 idx2 4 1.0000
test t2 idx3 1 8.5000
test t2 idx3 2 1.0000
test t2 idx3 3 1.0000
test t2 idx4 1 6.2000
test t2 idx4 2 1.7222
test t2 idx4 3 1.1154
test t2 idx4 4 1.0000
ANALYZE TABLE t2 PERSISTENT FOR COLUMNS ALL INDEXES ALL;
Table Op Msg_type Msg_text
test.t2 analyze status Engine-independent statistics collected
test.t2 analyze status OK
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t2 PRIMARY 1 1.0000
test t2 PRIMARY 2 1.0000
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx2 3 1.0000
test t2 idx2 4 1.0000
test t2 idx3 1 8.5000
test t2 idx3 2 1.0000
test t2 idx3 3 1.0000
test t2 idx4 1 6.2000
test t2 idx4 2 1.7222
test t2 idx4 3 1.1154
test t2 idx4 4 1.0000
ALTER TABLE t2 DROP COLUMN b, DROP PRIMARY KEY, ADD PRIMARY KEY(a);
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx3 1 8.5000
ANALYZE TABLE t2 PERSISTENT FOR COLUMNS() INDEXES ALL;
Table Op Msg_type Msg_text
test.t2 analyze status Engine-independent statistics collected
test.t2 analyze status OK
SELECT * FROM mysql.index_stats ORDER BY index_name, prefix_arity, table_name;
db_name table_name index_name prefix_arity avg_frequency
test t2 PRIMARY 1 1.0000
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx2 3 1.0000
test t2 idx3 1 8.5000
test t2 idx3 2 1.0000
test t2 idx4 1 6.2000
test t2 idx4 2 2.2308
test t2 idx4 3 1.0000
set optimizer_switch='extended_keys=off';
ALTER TABLE t1
DROP INDEX idx1,
DROP INDEX idx4;
ALTER TABLE t1
MODIFY COLUMN b text,
ADD INDEX idx1 (b(4), e),
ADD INDEX idx4 (e, b(4), d);
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t2 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t2 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t2 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t2 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t2 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t2 PRIMARY 1 1.0000
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx2 3 1.0000
test t2 idx3 1 8.5000
test t2 idx3 2 1.0000
test t2 idx4 1 6.2000
test t2 idx4 2 2.2308
test t2 idx4 3 1.0000
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze Warning Engine-independent statistics are not collected for column 'b'
test.t1 analyze status OK
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
test t2 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t2 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t2 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t2 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t2 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 NULL
test t1 idx1 2 NULL
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 NULL
test t1 idx4 3 NULL
test t2 PRIMARY 1 1.0000
test t2 idx2 1 7.0000
test t2 idx2 2 2.3846
test t2 idx2 3 1.0000
test t2 idx3 1 8.5000
test t2 idx3 2 1.0000
test t2 idx4 1 6.2000
test t2 idx4 2 2.2308
test t2 idx4 3 1.0000
DELETE FROM mysql.table_stats;
DELETE FROM mysql.column_stats;
DELETE FROM mysql.index_stats;
ANALYZE TABLE mysql.column_stats PERSISTENT FOR ALL;
Table Op Msg_type Msg_text
mysql.column_stats analyze error Invalid argument
ANALYZE TABLE mysql.column_stats;
Table Op Msg_type Msg_text
mysql.column_stats analyze status OK
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
set use_stat_tables='never';
ANALYZE TABLE t1 PERSISTENT FOR ALL;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze Warning Engine-independent statistics are not collected for column 'b'
test.t1 analyze status Table is already up to date
SELECT * FROM mysql.table_stats;
db_name table_name cardinality
test t1 40
SELECT * FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1 a 0 49 0.0000 4.0000 1.0000 0 NULL NULL
test t1 c aaaa dddddddd 0.1250 6.6571 7.0000 0 NULL NULL
test t1 d 1989-03-12 1999-07-23 0.1500 3.0000 8.5000 0 NULL NULL
test t1 e 0.01 0.112 0.2250 8.0000 6.2000 0 NULL NULL
test t1 f 1 5 0.2000 1.0000 6.4000 0 NULL NULL
SELECT * FROM mysql.index_stats;
db_name table_name index_name prefix_arity avg_frequency
test t1 PRIMARY 1 1.0000
test t1 idx1 1 NULL
test t1 idx1 2 NULL
test t1 idx2 1 7.0000
test t1 idx2 2 2.3846
test t1 idx3 1 8.5000
test t1 idx4 1 6.2000
test t1 idx4 2 NULL
test t1 idx4 3 NULL
DELETE FROM mysql.table_stats;
DELETE FROM mysql.column_stats;
DELETE FROM mysql.index_stats;
ANALYZE TABLE t1 PERSISTENT FOR COLUMNS(b) INDEXES();
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze Warning Engine-independent statistics are not collected for column 'b'
test.t1 analyze status Table is already up to date
ANALYZE TABLE t1 PERSISTENT FOR columns(a,b) INDEXES();
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze Warning Engine-independent statistics are not collected for column 'b'
test.t1 analyze status Table is already up to date
ANALYZE TABLE t1 PERSISTENT FOR columns(b) indexes(idx2);
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze Warning Engine-independent statistics are not collected for column 'b'
test.t1 analyze status Table is already up to date
ANALYZE TABLE t1 PERSISTENT FOR columns() indexes(idx2);
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
DELETE FROM mysql.table_stats;
DELETE FROM mysql.column_stats;
DELETE FROM mysql.index_stats;
DROP TABLE t1,t2;
set names utf8;
CREATE DATABASE world;
use world;
CREATE TABLE Country (
Code char(3) NOT NULL default '',
Name char(52) NOT NULL default '',
SurfaceArea float(10,2) NOT NULL default '0.00',
Population int(11) NOT NULL default '0',
Capital int(11) default NULL,
PRIMARY KEY (Code),
UNIQUE INDEX (Name)
) CHARACTER SET utf8 COLLATE utf8_bin;
CREATE TABLE City (
ID int(11) NOT NULL auto_increment,
Name char(35) NOT NULL default '',
Country char(3) NOT NULL default '',
Population int(11) NOT NULL default '0',
PRIMARY KEY (ID),
INDEX (Population),
INDEX (Country)
) CHARACTER SET utf8 COLLATE utf8_bin;
CREATE TABLE CountryLanguage (
Country char(3) NOT NULL default '',
Language char(30) NOT NULL default '',
Percentage float(3,1) NOT NULL default '0.0',
PRIMARY KEY (Country, Language),
INDEX (Percentage)
) CHARACTER SET utf8 COLLATE utf8_bin;
set use_stat_tables='preferably';
ANALYZE TABLE Country, City, CountryLanguage;
SELECT UPPER(db_name), UPPER(table_name), cardinality
FROM mysql.table_stats;
UPPER(db_name) UPPER(table_name) cardinality
WORLD CITY 4079
WORLD COUNTRY 239
WORLD COUNTRYLANGUAGE 984
SELECT UPPER(db_name), UPPER(table_name),
column_name, min_value, max_value, nulls_ratio, avg_length, avg_frequency
FROM mysql.column_stats;
UPPER(db_name) UPPER(table_name) column_name min_value max_value nulls_ratio avg_length avg_frequency
WORLD CITY Country ABW ZWE 0.0000 3.0000 17.5819
WORLD CITY ID 1 4079 0.0000 4.0000 1.0000
WORLD CITY Name A Coruña (La Coruña) Ürgenc 0.0000 8.6416 1.0195
WORLD CITY Population 42 10500000 0.0000 4.0000 1.0467
WORLD COUNTRY Capital 1 4074 0.0293 4.0000 1.0000
WORLD COUNTRY Code ABW ZWE 0.0000 3.0000 1.0000
WORLD COUNTRY Name Afghanistan Zimbabwe 0.0000 10.1088 1.0000
WORLD COUNTRY Population 0 1277558000 0.0000 4.0000 1.0575
WORLD COUNTRY SurfaceArea 0.40 17075400.00 0.0000 4.0000 1.0042
WORLD COUNTRYLANGUAGE Country ABW ZWE 0.0000 3.0000 4.2232
WORLD COUNTRYLANGUAGE Language Abhyasi [South]Mande 0.0000 7.1778 2.1532
WORLD COUNTRYLANGUAGE Percentage 0.0 99.9 0.0000 4.0000 2.7640
SELECT UPPER(db_name), UPPER(table_name),
index_name, prefix_arity, avg_frequency
FROM mysql.index_stats;
UPPER(db_name) UPPER(table_name) index_name prefix_arity avg_frequency
WORLD CITY Country 1 17.5819
WORLD CITY PRIMARY 1 1.0000
WORLD CITY Population 1 1.0467
WORLD COUNTRY Name 1 1.0000
WORLD COUNTRY PRIMARY 1 1.0000
WORLD COUNTRYLANGUAGE PRIMARY 1 4.2232
WORLD COUNTRYLANGUAGE PRIMARY 2 1.0000
WORLD COUNTRYLANGUAGE Percentage 1 2.7640
use test;
set use_stat_tables='never';
CREATE DATABASE world_innodb;
use world_innodb;
CREATE TABLE Country (
Code char(3) NOT NULL default '',
Name char(52) NOT NULL default '',
SurfaceArea float(10,2) NOT NULL default '0.00',
Population int(11) NOT NULL default '0',
Capital int(11) default NULL,
PRIMARY KEY (Code),
UNIQUE INDEX (Name)
) CHARACTER SET utf8 COLLATE utf8_bin;
CREATE TABLE City (
ID int(11) NOT NULL auto_increment,
Name char(35) NOT NULL default '',
Country char(3) NOT NULL default '',
Population int(11) NOT NULL default '0',
PRIMARY KEY (ID),
INDEX (Population),
INDEX (Country)
) CHARACTER SET utf8 COLLATE utf8_bin;
CREATE TABLE CountryLanguage (
Country char(3) NOT NULL default '',
Language char(30) NOT NULL default '',
Percentage float(3,1) NOT NULL default '0.0',
PRIMARY KEY (Country, Language),
INDEX (Percentage)
) CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE Country ENGINE=InnoDB;
ALTER TABLE City ENGINE=InnoDB;
ALTER TABLE CountryLanguage ENGINE=InnoDB;
set use_stat_tables='preferably';
ANALYZE TABLE Country, City, CountryLanguage;
SELECT UPPER(db_name), UPPER(table_name), cardinality
FROM mysql.table_stats;
UPPER(db_name) UPPER(table_name) cardinality
WORLD CITY 4079
WORLD COUNTRY 239
WORLD COUNTRYLANGUAGE 984
WORLD_INNODB CITY 4079
WORLD_INNODB COUNTRY 239
WORLD_INNODB COUNTRYLANGUAGE 984
SELECT UPPER(db_name), UPPER(table_name),
column_name, min_value, max_value, nulls_ratio, avg_length, avg_frequency
FROM mysql.column_stats;
UPPER(db_name) UPPER(table_name) column_name min_value max_value nulls_ratio avg_length avg_frequency
WORLD CITY Country ABW ZWE 0.0000 3.0000 17.5819
WORLD CITY ID 1 4079 0.0000 4.0000 1.0000
WORLD CITY Name A Coruña (La Coruña) Ürgenc 0.0000 8.6416 1.0195
WORLD CITY Population 42 10500000 0.0000 4.0000 1.0467
WORLD COUNTRY Capital 1 4074 0.0293 4.0000 1.0000
WORLD COUNTRY Code ABW ZWE 0.0000 3.0000 1.0000
WORLD COUNTRY Name Afghanistan Zimbabwe 0.0000 10.1088 1.0000
WORLD COUNTRY Population 0 1277558000 0.0000 4.0000 1.0575
WORLD COUNTRY SurfaceArea 0.40 17075400.00 0.0000 4.0000 1.0042
WORLD COUNTRYLANGUAGE Country ABW ZWE 0.0000 3.0000 4.2232
WORLD COUNTRYLANGUAGE Language Abhyasi [South]Mande 0.0000 7.1778 2.1532
WORLD COUNTRYLANGUAGE Percentage 0.0 99.9 0.0000 4.0000 2.7640
WORLD_INNODB CITY Country ABW ZWE 0.0000 3.0000 17.5819
WORLD_INNODB CITY ID 1 4079 0.0000 4.0000 1.0000
WORLD_INNODB CITY Name A Coruña (La Coruña) Ürgenc 0.0000 8.6416 1.0195
WORLD_INNODB CITY Population 42 10500000 0.0000 4.0000 1.0467
WORLD_INNODB COUNTRY Capital 1 4074 0.0293 4.0000 1.0000
WORLD_INNODB COUNTRY Code ABW ZWE 0.0000 3.0000 1.0000
WORLD_INNODB COUNTRY Name Afghanistan Zimbabwe 0.0000 10.1088 1.0000
WORLD_INNODB COUNTRY Population 0 1277558000 0.0000 4.0000 1.0575
WORLD_INNODB COUNTRY SurfaceArea 0.40 17075400.00 0.0000 4.0000 1.0042
WORLD_INNODB COUNTRYLANGUAGE Country ABW ZWE 0.0000 3.0000 4.2232
WORLD_INNODB COUNTRYLANGUAGE Language Abhyasi [South]Mande 0.0000 7.1778 2.1532
WORLD_INNODB COUNTRYLANGUAGE Percentage 0.0 99.9 0.0000 4.0000 2.7640
SELECT UPPER(db_name), UPPER(table_name),
index_name, prefix_arity, avg_frequency
FROM mysql.index_stats;
UPPER(db_name) UPPER(table_name) index_name prefix_arity avg_frequency
WORLD CITY Country 1 17.5819
WORLD CITY PRIMARY 1 1.0000
WORLD CITY Population 1 1.0467
WORLD COUNTRY Name 1 1.0000
WORLD COUNTRY PRIMARY 1 1.0000
WORLD COUNTRYLANGUAGE PRIMARY 1 4.2232
WORLD COUNTRYLANGUAGE PRIMARY 2 1.0000
WORLD COUNTRYLANGUAGE Percentage 1 2.7640
WORLD_INNODB CITY Country 1 17.5819
WORLD_INNODB CITY PRIMARY 1 1.0000
WORLD_INNODB CITY Population 1 1.0467
WORLD_INNODB COUNTRY Name 1 1.0000
WORLD_INNODB COUNTRY PRIMARY 1 1.0000
WORLD_INNODB COUNTRYLANGUAGE PRIMARY 1 4.2232
WORLD_INNODB COUNTRYLANGUAGE PRIMARY 2 1.0000
WORLD_INNODB COUNTRYLANGUAGE Percentage 1 2.7640
use world;
set use_stat_tables='preferably';
set histogram_size=100;
set histogram_type=@SINGLE_PREC_TYPE;
ANALYZE TABLE CountryLanguage;
set histogram_size=254;
set histogram_type=@DOUBLE_PREC_TYPE;
ANALYZE TABLE City;
FLUSH TABLES;
select UPPER(db_name),UPPER(table_name),UPPER(column_name),min_value,max_value,nulls_ratio,avg_length,avg_frequency,hist_size,hist_type,hex(histogram),decode_histogram(hist_type,histogram) from mysql.column_stats where UPPER(db_name)='WORLD' and UPPER(table_name)='COUNTRYLANGUAGE' and UPPER(column_name) = 'PERCENTAGE';;
UPPER(db_name) WORLD
UPPER(table_name) COUNTRYLANGUAGE
UPPER(column_name) PERCENTAGE
min_value 0.0
max_value 99.9
nulls_ratio 0.0000
avg_length 4.0000
avg_frequency 2.7640
hist_size 93
hist_type JSON_HB
hex(histogram) 7B0A202022686973746F6772616D5F68625F7632223A205B0A202020207B0A202020202020227374617274223A2022302E30222C0A2020202020202273697A65223A20302E3036363035363931312C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022302E31222C0A2020202020202273697A65223A20302E3032303332353230332C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022302E32222C0A2020202020202273697A65223A20302E3032323335373732342C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022302E33222C0A2020202020202273697A65223A20302E3031373237363432332C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022302E34222C0A2020202020202273697A65223A20302E3032353430363530342C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022302E35222C0A2020202020202273697A65223A20302E3032303332353230332C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022302E36222C0A2020202020202273697A65223A20302E3032303332353230332C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022302E37222C0A2020202020202273697A65223A20302E3031373237363432332C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022302E38222C0A2020202020202273697A65223A20302E3031303136323630322C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022302E39222C0A2020202020202273697A65223A20302E3031303136323630322C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022312E30222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022312E31222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022312E32222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022312E33222C0A2020202020202273697A65223A20302E3030353038313330312C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022312E34222C0A2020202020202273697A65223A20302E3031353234333930322C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022312E35222C0A2020202020202273697A65223A20302E3030353038313330312C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022312E36222C0A2020202020202273697A65223A20302E3031353234333930322C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022312E37222C0A2020202020202273697A65223A20302E3031303136323630322C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022312E38222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022312E39222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022322E30222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022322E32222C0A2020202020202273697A65223A20302E3031313137383836322C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022322E33222C0A2020202020202273697A65223A20302E3031303136323630322C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022322E34222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20310A202020207D2C0A202020207B0A202020202020227374617274223A2022322E35222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022322E36222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022322E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20330A202020207D2C0A202020207B0A202020202020227374617274223A2022322E39222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022332E31222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022332E32222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022332E33222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20330A202020207D2C0A202020207B0A202020202020227374617274223A2022332E35222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20330A202020207D2C0A202020207B0A202020202020227374617274223A2022332E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022332E38222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A2022342E31222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20330A202020207D2C0A202020207B0A202020202020227374617274223A2022342E33222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20330A202020207D2C0A202020207B0A202020202020227374617274223A2022342E36222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20330A202020207D2C0A202020207B0A202020202020227374617274223A2022342E38222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20330A202020207D2C0A202020207B0A202020202020227374617274223A2022352E30222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20350A202020207D2C0A202020207B0A202020202020227374617274223A2022352E34222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022352E36222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022352E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20330A202020207D2C0A202020207B0A202020202020227374617274223A2022362E30222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A2022362E34222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20320A202020207D2C0A202020207B0A202020202020227374617274223A2022362E36222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A2022362E39222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20350A202020207D2C0A202020207B0A202020202020227374617274223A2022372E33222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20330A202020207D2C0A202020207B0A202020202020227374617274223A2022372E35222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A2022372E38222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A2022382E31222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A2022382E35222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20330A202020207D2C0A202020207B0A202020202020227374617274223A2022382E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A2022392E30222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A2022392E34222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A2022392E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20360A202020207D2C0A202020207B0A202020202020227374617274223A202231302E35222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20360A202020207D2C0A202020207B0A202020202020227374617274223A202231312E30222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20360A202020207D2C0A202020207B0A202020202020227374617274223A202231312E36222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202231322E33222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20360A202020207D2C0A202020207B0A202020202020227374617274223A202231322E39222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20380A202020207D2C0A202020207B0A202020202020227374617274223A202231332E38222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20360A202020207D2C0A202020207B0A202020202020227374617274223A202231342E36222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202231362E31222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20350A202020207D2C0A202020207B0A202020202020227374617274223A202231362E38222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20380A202020207D2C0A202020207B0A202020202020227374617274223A202231382E31222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20380A202020207D2C0A202020207B0A202020202020227374617274223A202231392E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20360A202020207D2C0A202020207B0A202020202020227374617274223A202232312E32222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20380A202020207D2C0A202020207B0A202020202020227374617274223A202232332E32222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202232372E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20380A202020207D2C0A202020207B0A202020202020227374617274223A202233302E30222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202233322E33222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20380A202020207D2C0A202020207B0A202020202020227374617274223A202233342E38222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202233392E38222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20380A202020207D2C0A202020207B0A202020202020227374617274223A202234332E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20390A202020207D2C0A202020207B0A202020202020227374617274223A202234372E35222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20390A202020207D2C0A202020207B0A202020202020227374617274223A202235302E38222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202235352E31222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20380A202020207D2C0A202020207B0A202020202020227374617274223A202236302E34222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20380A202020207D2C0A202020207B0A202020202020227374617274223A202236352E33222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20390A202020207D2C0A202020207B0A202020202020227374617274223A202237312E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20390A202020207D2C0A202020207B0A202020202020227374617274223A202237362E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202238302E30222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202238342E38222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20360A202020207D2C0A202020207B0A202020202020227374617274223A202238362E36222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20390A202020207D2C0A202020207B0A202020202020227374617274223A202238382E39222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202239302E37222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202239332E30222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202239352E30222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20360A202020207D2C0A202020207B0A202020202020227374617274223A202239352E39222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20370A202020207D2C0A202020207B0A202020202020227374617274223A202239372E33222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20360A202020207D2C0A202020207B0A202020202020227374617274223A202239382E31222C0A2020202020202273697A65223A20302E3030393134363334312C0A202020202020226E6476223A20360A202020207D2C0A202020207B0A202020202020227374617274223A202239392E30222C0A2020202020202273697A65223A20302E3030363039373536312C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A202239392E39222C0A20202020202022656E64223A202239392E39222C0A2020202020202273697A65223A20302E3031353234333930322C0A202020202020226E6476223A20310A202020207D0A20205D0A7D
decode_histogram(hist_type,histogram) {
"histogram_hb_v2": [
{
"start": "0.0",
"size": 0.066056911,
"ndv": 1
},
{
"start": "0.1",
"size": 0.020325203,
"ndv": 1
},
{
"start": "0.2",
"size": 0.022357724,
"ndv": 1
},
{
"start": "0.3",
"size": 0.017276423,
"ndv": 1
},
{
"start": "0.4",
"size": 0.025406504,
"ndv": 1
},
{
"start": "0.5",
"size": 0.020325203,
"ndv": 1
},
{
"start": "0.6",
"size": 0.020325203,
"ndv": 1
},
{
"start": "0.7",
"size": 0.017276423,
"ndv": 1
},
{
"start": "0.8",
"size": 0.010162602,
"ndv": 1
},
{
"start": "0.9",
"size": 0.010162602,
"ndv": 1
},
{
"start": "1.0",
"size": 0.009146341,
"ndv": 2
},
{
"start": "1.1",
"size": 0.009146341,
"ndv": 2
},
{
"start": "1.2",
"size": 0.009146341,
"ndv": 2
},
{
"start": "1.3",
"size": 0.005081301,
"ndv": 1
},
{
"start": "1.4",
"size": 0.015243902,
"ndv": 1
},
{
"start": "1.5",
"size": 0.005081301,
"ndv": 1
},
{
"start": "1.6",
"size": 0.015243902,
"ndv": 1
},
{
"start": "1.7",
"size": 0.010162602,
"ndv": 1
},
{
"start": "1.8",
"size": 0.009146341,
"ndv": 2
},
{
"start": "1.9",
"size": 0.009146341,
"ndv": 2
},
{
"start": "2.0",
"size": 0.009146341,
"ndv": 2
},
{
"start": "2.2",
"size": 0.011178862,
"ndv": 1
},
{
"start": "2.3",
"size": 0.010162602,
"ndv": 1
},
{
"start": "2.4",
"size": 0.009146341,
"ndv": 1
},
{
"start": "2.5",
"size": 0.009146341,
"ndv": 2
},
{
"start": "2.6",
"size": 0.009146341,
"ndv": 2
},
{
"start": "2.7",
"size": 0.009146341,
"ndv": 3
},
{
"start": "2.9",
"size": 0.009146341,
"ndv": 2
},
{
"start": "3.1",
"size": 0.009146341,
"ndv": 2
},
{
"start": "3.2",
"size": 0.009146341,
"ndv": 2
},
{
"start": "3.3",
"size": 0.009146341,
"ndv": 3
},
{
"start": "3.5",
"size": 0.009146341,
"ndv": 3
},
{
"start": "3.7",
"size": 0.009146341,
"ndv": 2
},
{
"start": "3.8",
"size": 0.009146341,
"ndv": 4
},
{
"start": "4.1",
"size": 0.009146341,
"ndv": 3
},
{
"start": "4.3",
"size": 0.009146341,
"ndv": 3
},
{
"start": "4.6",
"size": 0.009146341,
"ndv": 3
},
{
"start": "4.8",
"size": 0.009146341,
"ndv": 3
},
{
"start": "5.0",
"size": 0.009146341,
"ndv": 5
},
{
"start": "5.4",
"size": 0.009146341,
"ndv": 2
},
{
"start": "5.6",
"size": 0.009146341,
"ndv": 2
},
{
"start": "5.7",
"size": 0.009146341,
"ndv": 3
},
{
"start": "6.0",
"size": 0.009146341,
"ndv": 4
},
{
"start": "6.4",
"size": 0.009146341,
"ndv": 2
},
{
"start": "6.6",
"size": 0.009146341,
"ndv": 4
},
{
"start": "6.9",
"size": 0.009146341,
"ndv": 5
},
{
"start": "7.3",
"size": 0.009146341,
"ndv": 3
},
{
"start": "7.5",
"size": 0.009146341,
"ndv": 4
},
{
"start": "7.8",
"size": 0.009146341,
"ndv": 4
},
{
"start": "8.1",
"size": 0.009146341,
"ndv": 4
},
{
"start": "8.5",
"size": 0.009146341,
"ndv": 3
},
{
"start": "8.7",
"size": 0.009146341,
"ndv": 4
},
{
"start": "9.0",
"size": 0.009146341,
"ndv": 4
},
{
"start": "9.4",
"size": 0.009146341,
"ndv": 4
},
{
"start": "9.7",
"size": 0.009146341,
"ndv": 6
},
{
"start": "10.5",
"size": 0.009146341,
"ndv": 6
},
{
"start": "11.0",
"size": 0.009146341,
"ndv": 6
},
{
"start": "11.6",
"size": 0.009146341,
"ndv": 7
},
{
"start": "12.3",
"size": 0.009146341,
"ndv": 6
},
{
"start": "12.9",
"size": 0.009146341,
"ndv": 8
},
{
"start": "13.8",
"size": 0.009146341,
"ndv": 6
},
{
"start": "14.6",
"size": 0.009146341,
"ndv": 7
},
{
"start": "16.1",
"size": 0.009146341,
"ndv": 5
},
{
"start": "16.8",
"size": 0.009146341,
"ndv": 8
},
{
"start": "18.1",
"size": 0.009146341,
"ndv": 8
},
{
"start": "19.7",
"size": 0.009146341,
"ndv": 6
},
{
"start": "21.2",
"size": 0.009146341,
"ndv": 8
},
{
"start": "23.2",
"size": 0.009146341,
"ndv": 7
},
{
"start": "27.7",
"size": 0.009146341,
"ndv": 8
},
{
"start": "30.0",
"size": 0.009146341,
"ndv": 7
},
{
"start": "32.3",
"size": 0.009146341,
"ndv": 8
},
{
"start": "34.8",
"size": 0.009146341,
"ndv": 7
},
{
"start": "39.8",
"size": 0.009146341,
"ndv": 8
},
{
"start": "43.7",
"size": 0.009146341,
"ndv": 9
},
{
"start": "47.5",
"size": 0.009146341,
"ndv": 9
},
{
"start": "50.8",
"size": 0.009146341,
"ndv": 7
},
{
"start": "55.1",
"size": 0.009146341,
"ndv": 8
},
{
"start": "60.4",
"size": 0.009146341,
"ndv": 8
},
{
"start": "65.3",
"size": 0.009146341,
"ndv": 9
},
{
"start": "71.7",
"size": 0.009146341,
"ndv": 9
},
{
"start": "76.7",
"size": 0.009146341,
"ndv": 7
},
{
"start": "80.0",
"size": 0.009146341,
"ndv": 7
},
{
"start": "84.8",
"size": 0.009146341,
"ndv": 6
},
{
"start": "86.6",
"size": 0.009146341,
"ndv": 9
},
{
"start": "88.9",
"size": 0.009146341,
"ndv": 7
},
{
"start": "90.7",
"size": 0.009146341,
"ndv": 7
},
{
"start": "93.0",
"size": 0.009146341,
"ndv": 7
},
{
"start": "95.0",
"size": 0.009146341,
"ndv": 6
},
{
"start": "95.9",
"size": 0.009146341,
"ndv": 7
},
{
"start": "97.3",
"size": 0.009146341,
"ndv": 6
},
{
"start": "98.1",
"size": 0.009146341,
"ndv": 6
},
{
"start": "99.0",
"size": 0.006097561,
"ndv": 4
},
{
"start": "99.9",
"end": "99.9",
"size": 0.015243902,
"ndv": 1
}
]
}
select UPPER(db_name),UPPER(table_name),UPPER(column_name),min_value,max_value,nulls_ratio,avg_length,avg_frequency,hist_size,hist_type,hex(histogram),decode_histogram(hist_type,histogram) from mysql.column_stats where UPPER(db_name)='WORLD' and UPPER(table_name)='CITY' and UPPER(column_name) = 'POPULATION';;
UPPER(db_name) WORLD
UPPER(table_name) CITY
UPPER(column_name) POPULATION
min_value 42
max_value 10500000
nulls_ratio 0.0000
avg_length 4.0000
avg_frequency 1.0467
hist_size 255
hist_type JSON_HB
hex(histogram) 7B0A202022686973746F6772616D5F68625F7632223A205B0A202020207B0A202020202020227374617274223A20223432222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202231353030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202235323030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A20223133313534222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A20223237303235222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A20223531393639222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A20223839303633222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A20223839343030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A20223839393030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A20340A202020207D2C0A202020207B0A202020202020227374617274223A20223930323030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A20223930363033222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A20223930393539222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A20223931323033222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A20223931373739222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031320A202020207D2C0A202020207B0A202020202020227374617274223A20223932323339222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031330A202020207D2C0A202020207B0A202020202020227374617274223A20223932353833222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031330A202020207D2C0A202020207B0A202020202020227374617274223A20223933303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A20223933333432222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A20223933383937222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031330A202020207D2C0A202020207B0A202020202020227374617274223A20223934313030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A20223934363531222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A20223934393437222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A20223935343131222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A20223936303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A20223936333135222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A20223936383030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A20223937313638222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031330A202020207D2C0A202020207B0A202020202020227374617274223A20223937353037222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A20223938313030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A20223938333834222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A20223938383138222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A20223939333837222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A20223939383632222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031330A202020207D2C0A202020207B0A202020202020227374617274223A2022313030313331222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313030343930222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313030393136222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031310A202020207D2C0A202020207B0A202020202020227374617274223A2022313031323436222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313031353738222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313032303139222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313032333034222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313032373032222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313033323131222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031310A202020207D2C0A202020207B0A202020202020227374617274223A2022313033353536222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313034303133222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313034373233222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031330A202020207D2C0A202020207B0A202020202020227374617274223A2022313035313636222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313035363932222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031320A202020207D2C0A202020207B0A202020202020227374617274223A2022313036303034222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313036353233222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313037303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313037333534222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313037373730222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313038313231222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313038353738222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313039313834222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313039353030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022313039393735222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313130343230222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313131323030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313131373632222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031320A202020207D2C0A202020207B0A202020202020227374617274223A2022313132343139222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313133303930222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313133383636222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313134323336222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313134393030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313135353438222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313136313838222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022313136373630222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313137323538222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313138303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313138373531222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313139323837222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313139383030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313230333738222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313231303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313231363030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313231393637222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022313232373335222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313233333636222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022313233383735222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022313234323135222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313234373735222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313235333030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022313235383132222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313236333033222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313236383732222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031330A202020207D2C0A202020207B0A202020202020227374617274223A2022313237323834222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313237383135222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313238333538222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313239343534222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031320A202020207D2C0A202020207B0A202020202020227374617274223A2022313330303331222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313331303131222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313331373139222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313332353030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313333313638222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313333363735222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313334303531222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313335303234222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313336333936222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313337303631222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313337383030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313338343639222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313339333537222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313430303432222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031330A202020207D2C0A202020207B0A202020202020227374617274223A2022313431303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313432303438222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313432363930222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313433373236222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313434373631222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313435383233222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313436353134222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313437353237222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022313438313130222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022313439323232222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313530313132222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022313531303639222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313532343633222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313533333833222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313535303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313535393431222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313537333332222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313538333436222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313539363635222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313631313931222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313632343732222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313633393030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313634383531222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313636353132222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313637363631222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031330A202020207D2C0A202020207B0A202020202020227374617274223A2022313639333033222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313730353030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313731363537222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313732373130222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313733393737222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313735303631222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313736353831222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313738323030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313739323039222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313830323733222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313831393030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313833313333222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313834313635222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313835363333222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313836393339222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313838343433222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313839353934222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313931313634222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313933313536222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031330A202020207D2C0A202020207B0A202020202020227374617274223A2022313934333031222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313935363239222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022313937323736222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022313939313834222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323031303733222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323032343531222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323034383939222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022323036323239222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323037383434222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323130333638222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323132393737222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323134393537222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323136393033222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323138353030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323231303437222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323232373030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323234383937222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323237373030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323239373030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323333343030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022323336303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323339363030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323431373639222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323433373731222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323436323036222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323438343733222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323533303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323534383637222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323537383632222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323632303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323634313135222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323636353639222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022323730333234222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323733303630222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323736393136222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323739393830222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323833303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022323837303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022323931313137222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022323934313235222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022323939303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022333031323937222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333034393532222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333039393030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022333133363139222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333138353632222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333232363835222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333236373736222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333330333132222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333335303738222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333339313934222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333433333030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333439353831222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333534313339222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333539343030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022333632373733222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333636373132222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333734393435222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333830383436222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333835323031222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022333933303330222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343031323831222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343039363332222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343137353137222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343232353432222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343239303736222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343336393030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343434323939222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343533383133222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022343631313236222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343730373831222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343738313535222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343834363734222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022343935353430222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022353039353130222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022353139383733222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031340A202020207D2C0A202020207B0A202020202020227374617274223A2022353330303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022353431313632222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022353634353839222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022353830313030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022353936393734222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022363138343737222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022363339303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022363538363330222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022363833373934222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022373036373730222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022373338313530222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022373638303832222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022373938343330222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022383337353838222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A2022383739303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022393430393638222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A2022393937303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A202231303530303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A202231313031303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202231313537353037222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A202231323232373634222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202231333034373736222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202231333938383030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031350A202020207D2C0A202020207B0A202020202020227374617274223A202231353138303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202231363931363030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202231393735323934222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202232313638303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202232353936303030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202232393832313436222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202234323635323030222C0A2020202020202273697A65223A20302E30303339323235332C0A202020202020226E6476223A2031360A202020207D2C0A202020207B0A202020202020227374617274223A202236373839343739222C0A20202020202022656E64223A20223130353030303030222C0A2020202020202273697A65223A20302E3030333637373337322C0A202020202020226E6476223A2031350A202020207D0A20205D0A7D
decode_histogram(hist_type,histogram) {
"histogram_hb_v2": [
{
"start": "42",
"size": 0.00392253,
"ndv": 16
},
{
"start": "1500",
"size": 0.00392253,
"ndv": 16
},
{
"start": "5200",
"size": 0.00392253,
"ndv": 15
},
{
"start": "13154",
"size": 0.00392253,
"ndv": 15
},
{
"start": "27025",
"size": 0.00392253,
"ndv": 16
},
{
"start": "51969",
"size": 0.00392253,
"ndv": 14
},
{
"start": "89063",
"size": 0.00392253,
"ndv": 15
},
{
"start": "89400",
"size": 0.00392253,
"ndv": 14
},
{
"start": "89900",
"size": 0.00392253,
"ndv": 4
},
{
"start": "90200",
"size": 0.00392253,
"ndv": 15
},
{
"start": "90603",
"size": 0.00392253,
"ndv": 16
},
{
"start": "90959",
"size": 0.00392253,
"ndv": 14
},
{
"start": "91203",
"size": 0.00392253,
"ndv": 16
},
{
"start": "91779",
"size": 0.00392253,
"ndv": 12
},
{
"start": "92239",
"size": 0.00392253,
"ndv": 13
},
{
"start": "92583",
"size": 0.00392253,
"ndv": 13
},
{
"start": "93000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "93342",
"size": 0.00392253,
"ndv": 16
},
{
"start": "93897",
"size": 0.00392253,
"ndv": 13
},
{
"start": "94100",
"size": 0.00392253,
"ndv": 15
},
{
"start": "94651",
"size": 0.00392253,
"ndv": 14
},
{
"start": "94947",
"size": 0.00392253,
"ndv": 14
},
{
"start": "95411",
"size": 0.00392253,
"ndv": 15
},
{
"start": "96000",
"size": 0.00392253,
"ndv": 14
},
{
"start": "96315",
"size": 0.00392253,
"ndv": 16
},
{
"start": "96800",
"size": 0.00392253,
"ndv": 14
},
{
"start": "97168",
"size": 0.00392253,
"ndv": 13
},
{
"start": "97507",
"size": 0.00392253,
"ndv": 14
},
{
"start": "98100",
"size": 0.00392253,
"ndv": 16
},
{
"start": "98384",
"size": 0.00392253,
"ndv": 16
},
{
"start": "98818",
"size": 0.00392253,
"ndv": 15
},
{
"start": "99387",
"size": 0.00392253,
"ndv": 15
},
{
"start": "99862",
"size": 0.00392253,
"ndv": 13
},
{
"start": "100131",
"size": 0.00392253,
"ndv": 16
},
{
"start": "100490",
"size": 0.00392253,
"ndv": 16
},
{
"start": "100916",
"size": 0.00392253,
"ndv": 11
},
{
"start": "101246",
"size": 0.00392253,
"ndv": 16
},
{
"start": "101578",
"size": 0.00392253,
"ndv": 15
},
{
"start": "102019",
"size": 0.00392253,
"ndv": 16
},
{
"start": "102304",
"size": 0.00392253,
"ndv": 15
},
{
"start": "102702",
"size": 0.00392253,
"ndv": 16
},
{
"start": "103211",
"size": 0.00392253,
"ndv": 11
},
{
"start": "103556",
"size": 0.00392253,
"ndv": 15
},
{
"start": "104013",
"size": 0.00392253,
"ndv": 16
},
{
"start": "104723",
"size": 0.00392253,
"ndv": 13
},
{
"start": "105166",
"size": 0.00392253,
"ndv": 16
},
{
"start": "105692",
"size": 0.00392253,
"ndv": 12
},
{
"start": "106004",
"size": 0.00392253,
"ndv": 16
},
{
"start": "106523",
"size": 0.00392253,
"ndv": 15
},
{
"start": "107000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "107354",
"size": 0.00392253,
"ndv": 16
},
{
"start": "107770",
"size": 0.00392253,
"ndv": 15
},
{
"start": "108121",
"size": 0.00392253,
"ndv": 16
},
{
"start": "108578",
"size": 0.00392253,
"ndv": 15
},
{
"start": "109184",
"size": 0.00392253,
"ndv": 16
},
{
"start": "109500",
"size": 0.00392253,
"ndv": 14
},
{
"start": "109975",
"size": 0.00392253,
"ndv": 15
},
{
"start": "110420",
"size": 0.00392253,
"ndv": 16
},
{
"start": "111200",
"size": 0.00392253,
"ndv": 15
},
{
"start": "111762",
"size": 0.00392253,
"ndv": 12
},
{
"start": "112419",
"size": 0.00392253,
"ndv": 15
},
{
"start": "113090",
"size": 0.00392253,
"ndv": 16
},
{
"start": "113866",
"size": 0.00392253,
"ndv": 16
},
{
"start": "114236",
"size": 0.00392253,
"ndv": 16
},
{
"start": "114900",
"size": 0.00392253,
"ndv": 16
},
{
"start": "115548",
"size": 0.00392253,
"ndv": 16
},
{
"start": "116188",
"size": 0.00392253,
"ndv": 14
},
{
"start": "116760",
"size": 0.00392253,
"ndv": 15
},
{
"start": "117258",
"size": 0.00392253,
"ndv": 15
},
{
"start": "118000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "118751",
"size": 0.00392253,
"ndv": 15
},
{
"start": "119287",
"size": 0.00392253,
"ndv": 16
},
{
"start": "119800",
"size": 0.00392253,
"ndv": 15
},
{
"start": "120378",
"size": 0.00392253,
"ndv": 16
},
{
"start": "121000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "121600",
"size": 0.00392253,
"ndv": 15
},
{
"start": "121967",
"size": 0.00392253,
"ndv": 14
},
{
"start": "122735",
"size": 0.00392253,
"ndv": 15
},
{
"start": "123366",
"size": 0.00392253,
"ndv": 14
},
{
"start": "123875",
"size": 0.00392253,
"ndv": 14
},
{
"start": "124215",
"size": 0.00392253,
"ndv": 16
},
{
"start": "124775",
"size": 0.00392253,
"ndv": 16
},
{
"start": "125300",
"size": 0.00392253,
"ndv": 14
},
{
"start": "125812",
"size": 0.00392253,
"ndv": 16
},
{
"start": "126303",
"size": 0.00392253,
"ndv": 16
},
{
"start": "126872",
"size": 0.00392253,
"ndv": 13
},
{
"start": "127284",
"size": 0.00392253,
"ndv": 16
},
{
"start": "127815",
"size": 0.00392253,
"ndv": 16
},
{
"start": "128358",
"size": 0.00392253,
"ndv": 15
},
{
"start": "129454",
"size": 0.00392253,
"ndv": 12
},
{
"start": "130031",
"size": 0.00392253,
"ndv": 16
},
{
"start": "131011",
"size": 0.00392253,
"ndv": 16
},
{
"start": "131719",
"size": 0.00392253,
"ndv": 15
},
{
"start": "132500",
"size": 0.00392253,
"ndv": 16
},
{
"start": "133168",
"size": 0.00392253,
"ndv": 15
},
{
"start": "133675",
"size": 0.00392253,
"ndv": 16
},
{
"start": "134051",
"size": 0.00392253,
"ndv": 15
},
{
"start": "135024",
"size": 0.00392253,
"ndv": 16
},
{
"start": "136396",
"size": 0.00392253,
"ndv": 15
},
{
"start": "137061",
"size": 0.00392253,
"ndv": 15
},
{
"start": "137800",
"size": 0.00392253,
"ndv": 16
},
{
"start": "138469",
"size": 0.00392253,
"ndv": 15
},
{
"start": "139357",
"size": 0.00392253,
"ndv": 15
},
{
"start": "140042",
"size": 0.00392253,
"ndv": 13
},
{
"start": "141000",
"size": 0.00392253,
"ndv": 15
},
{
"start": "142048",
"size": 0.00392253,
"ndv": 15
},
{
"start": "142690",
"size": 0.00392253,
"ndv": 16
},
{
"start": "143726",
"size": 0.00392253,
"ndv": 16
},
{
"start": "144761",
"size": 0.00392253,
"ndv": 15
},
{
"start": "145823",
"size": 0.00392253,
"ndv": 16
},
{
"start": "146514",
"size": 0.00392253,
"ndv": 15
},
{
"start": "147527",
"size": 0.00392253,
"ndv": 14
},
{
"start": "148110",
"size": 0.00392253,
"ndv": 14
},
{
"start": "149222",
"size": 0.00392253,
"ndv": 16
},
{
"start": "150112",
"size": 0.00392253,
"ndv": 14
},
{
"start": "151069",
"size": 0.00392253,
"ndv": 16
},
{
"start": "152463",
"size": 0.00392253,
"ndv": 16
},
{
"start": "153383",
"size": 0.00392253,
"ndv": 16
},
{
"start": "155000",
"size": 0.00392253,
"ndv": 15
},
{
"start": "155941",
"size": 0.00392253,
"ndv": 16
},
{
"start": "157332",
"size": 0.00392253,
"ndv": 16
},
{
"start": "158346",
"size": 0.00392253,
"ndv": 16
},
{
"start": "159665",
"size": 0.00392253,
"ndv": 16
},
{
"start": "161191",
"size": 0.00392253,
"ndv": 15
},
{
"start": "162472",
"size": 0.00392253,
"ndv": 15
},
{
"start": "163900",
"size": 0.00392253,
"ndv": 16
},
{
"start": "164851",
"size": 0.00392253,
"ndv": 16
},
{
"start": "166512",
"size": 0.00392253,
"ndv": 15
},
{
"start": "167661",
"size": 0.00392253,
"ndv": 13
},
{
"start": "169303",
"size": 0.00392253,
"ndv": 16
},
{
"start": "170500",
"size": 0.00392253,
"ndv": 16
},
{
"start": "171657",
"size": 0.00392253,
"ndv": 16
},
{
"start": "172710",
"size": 0.00392253,
"ndv": 16
},
{
"start": "173977",
"size": 0.00392253,
"ndv": 15
},
{
"start": "175061",
"size": 0.00392253,
"ndv": 16
},
{
"start": "176581",
"size": 0.00392253,
"ndv": 15
},
{
"start": "178200",
"size": 0.00392253,
"ndv": 16
},
{
"start": "179209",
"size": 0.00392253,
"ndv": 16
},
{
"start": "180273",
"size": 0.00392253,
"ndv": 15
},
{
"start": "181900",
"size": 0.00392253,
"ndv": 16
},
{
"start": "183133",
"size": 0.00392253,
"ndv": 16
},
{
"start": "184165",
"size": 0.00392253,
"ndv": 15
},
{
"start": "185633",
"size": 0.00392253,
"ndv": 15
},
{
"start": "186939",
"size": 0.00392253,
"ndv": 16
},
{
"start": "188443",
"size": 0.00392253,
"ndv": 15
},
{
"start": "189594",
"size": 0.00392253,
"ndv": 15
},
{
"start": "191164",
"size": 0.00392253,
"ndv": 15
},
{
"start": "193156",
"size": 0.00392253,
"ndv": 13
},
{
"start": "194301",
"size": 0.00392253,
"ndv": 16
},
{
"start": "195629",
"size": 0.00392253,
"ndv": 16
},
{
"start": "197276",
"size": 0.00392253,
"ndv": 15
},
{
"start": "199184",
"size": 0.00392253,
"ndv": 16
},
{
"start": "201073",
"size": 0.00392253,
"ndv": 16
},
{
"start": "202451",
"size": 0.00392253,
"ndv": 16
},
{
"start": "204899",
"size": 0.00392253,
"ndv": 15
},
{
"start": "206229",
"size": 0.00392253,
"ndv": 16
},
{
"start": "207844",
"size": 0.00392253,
"ndv": 16
},
{
"start": "210368",
"size": 0.00392253,
"ndv": 16
},
{
"start": "212977",
"size": 0.00392253,
"ndv": 16
},
{
"start": "214957",
"size": 0.00392253,
"ndv": 16
},
{
"start": "216903",
"size": 0.00392253,
"ndv": 16
},
{
"start": "218500",
"size": 0.00392253,
"ndv": 16
},
{
"start": "221047",
"size": 0.00392253,
"ndv": 16
},
{
"start": "222700",
"size": 0.00392253,
"ndv": 16
},
{
"start": "224897",
"size": 0.00392253,
"ndv": 16
},
{
"start": "227700",
"size": 0.00392253,
"ndv": 16
},
{
"start": "229700",
"size": 0.00392253,
"ndv": 16
},
{
"start": "233400",
"size": 0.00392253,
"ndv": 15
},
{
"start": "236000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "239600",
"size": 0.00392253,
"ndv": 16
},
{
"start": "241769",
"size": 0.00392253,
"ndv": 16
},
{
"start": "243771",
"size": 0.00392253,
"ndv": 16
},
{
"start": "246206",
"size": 0.00392253,
"ndv": 16
},
{
"start": "248473",
"size": 0.00392253,
"ndv": 16
},
{
"start": "253000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "254867",
"size": 0.00392253,
"ndv": 16
},
{
"start": "257862",
"size": 0.00392253,
"ndv": 16
},
{
"start": "262000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "264115",
"size": 0.00392253,
"ndv": 16
},
{
"start": "266569",
"size": 0.00392253,
"ndv": 15
},
{
"start": "270324",
"size": 0.00392253,
"ndv": 16
},
{
"start": "273060",
"size": 0.00392253,
"ndv": 16
},
{
"start": "276916",
"size": 0.00392253,
"ndv": 16
},
{
"start": "279980",
"size": 0.00392253,
"ndv": 16
},
{
"start": "283000",
"size": 0.00392253,
"ndv": 15
},
{
"start": "287000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "291117",
"size": 0.00392253,
"ndv": 14
},
{
"start": "294125",
"size": 0.00392253,
"ndv": 15
},
{
"start": "299000",
"size": 0.00392253,
"ndv": 15
},
{
"start": "301297",
"size": 0.00392253,
"ndv": 16
},
{
"start": "304952",
"size": 0.00392253,
"ndv": 16
},
{
"start": "309900",
"size": 0.00392253,
"ndv": 15
},
{
"start": "313619",
"size": 0.00392253,
"ndv": 16
},
{
"start": "318562",
"size": 0.00392253,
"ndv": 16
},
{
"start": "322685",
"size": 0.00392253,
"ndv": 16
},
{
"start": "326776",
"size": 0.00392253,
"ndv": 16
},
{
"start": "330312",
"size": 0.00392253,
"ndv": 16
},
{
"start": "335078",
"size": 0.00392253,
"ndv": 16
},
{
"start": "339194",
"size": 0.00392253,
"ndv": 16
},
{
"start": "343300",
"size": 0.00392253,
"ndv": 16
},
{
"start": "349581",
"size": 0.00392253,
"ndv": 16
},
{
"start": "354139",
"size": 0.00392253,
"ndv": 16
},
{
"start": "359400",
"size": 0.00392253,
"ndv": 15
},
{
"start": "362773",
"size": 0.00392253,
"ndv": 16
},
{
"start": "366712",
"size": 0.00392253,
"ndv": 16
},
{
"start": "374945",
"size": 0.00392253,
"ndv": 16
},
{
"start": "380846",
"size": 0.00392253,
"ndv": 16
},
{
"start": "385201",
"size": 0.00392253,
"ndv": 16
},
{
"start": "393030",
"size": 0.00392253,
"ndv": 16
},
{
"start": "401281",
"size": 0.00392253,
"ndv": 16
},
{
"start": "409632",
"size": 0.00392253,
"ndv": 16
},
{
"start": "417517",
"size": 0.00392253,
"ndv": 16
},
{
"start": "422542",
"size": 0.00392253,
"ndv": 16
},
{
"start": "429076",
"size": 0.00392253,
"ndv": 16
},
{
"start": "436900",
"size": 0.00392253,
"ndv": 16
},
{
"start": "444299",
"size": 0.00392253,
"ndv": 16
},
{
"start": "453813",
"size": 0.00392253,
"ndv": 15
},
{
"start": "461126",
"size": 0.00392253,
"ndv": 16
},
{
"start": "470781",
"size": 0.00392253,
"ndv": 16
},
{
"start": "478155",
"size": 0.00392253,
"ndv": 16
},
{
"start": "484674",
"size": 0.00392253,
"ndv": 16
},
{
"start": "495540",
"size": 0.00392253,
"ndv": 16
},
{
"start": "509510",
"size": 0.00392253,
"ndv": 16
},
{
"start": "519873",
"size": 0.00392253,
"ndv": 14
},
{
"start": "530000",
"size": 0.00392253,
"ndv": 15
},
{
"start": "541162",
"size": 0.00392253,
"ndv": 16
},
{
"start": "564589",
"size": 0.00392253,
"ndv": 15
},
{
"start": "580100",
"size": 0.00392253,
"ndv": 16
},
{
"start": "596974",
"size": 0.00392253,
"ndv": 16
},
{
"start": "618477",
"size": 0.00392253,
"ndv": 16
},
{
"start": "639000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "658630",
"size": 0.00392253,
"ndv": 16
},
{
"start": "683794",
"size": 0.00392253,
"ndv": 16
},
{
"start": "706770",
"size": 0.00392253,
"ndv": 16
},
{
"start": "738150",
"size": 0.00392253,
"ndv": 16
},
{
"start": "768082",
"size": 0.00392253,
"ndv": 16
},
{
"start": "798430",
"size": 0.00392253,
"ndv": 15
},
{
"start": "837588",
"size": 0.00392253,
"ndv": 15
},
{
"start": "879000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "940968",
"size": 0.00392253,
"ndv": 16
},
{
"start": "997000",
"size": 0.00392253,
"ndv": 15
},
{
"start": "1050000",
"size": 0.00392253,
"ndv": 15
},
{
"start": "1101000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "1157507",
"size": 0.00392253,
"ndv": 15
},
{
"start": "1222764",
"size": 0.00392253,
"ndv": 16
},
{
"start": "1304776",
"size": 0.00392253,
"ndv": 16
},
{
"start": "1398800",
"size": 0.00392253,
"ndv": 15
},
{
"start": "1518000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "1691600",
"size": 0.00392253,
"ndv": 16
},
{
"start": "1975294",
"size": 0.00392253,
"ndv": 16
},
{
"start": "2168000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "2596000",
"size": 0.00392253,
"ndv": 16
},
{
"start": "2982146",
"size": 0.00392253,
"ndv": 16
},
{
"start": "4265200",
"size": 0.00392253,
"ndv": 16
},
{
"start": "6789479",
"end": "10500000",
"size": 0.003677372,
"ndv": 15
}
]
}
set histogram_type=@SINGLE_PREC_TYPE;
set histogram_size=0;
use test;
DROP DATABASE world;
SELECT UPPER(db_name), UPPER(table_name), cardinality
FROM mysql.table_stats;
UPPER(db_name) UPPER(table_name) cardinality
WORLD_INNODB CITY 4079
WORLD_INNODB COUNTRY 239
WORLD_INNODB COUNTRYLANGUAGE 984
SELECT UPPER(db_name), UPPER(table_name),
column_name, min_value, max_value, nulls_ratio, avg_length, avg_frequency
FROM mysql.column_stats;
UPPER(db_name) UPPER(table_name) column_name min_value max_value nulls_ratio avg_length avg_frequency
WORLD_INNODB CITY Country ABW ZWE 0.0000 3.0000 17.5819
WORLD_INNODB CITY ID 1 4079 0.0000 4.0000 1.0000
WORLD_INNODB CITY Name A Coruña (La Coruña) Ürgenc 0.0000 8.6416 1.0195
WORLD_INNODB CITY Population 42 10500000 0.0000 4.0000 1.0467
WORLD_INNODB COUNTRY Capital 1 4074 0.0293 4.0000 1.0000
WORLD_INNODB COUNTRY Code ABW ZWE 0.0000 3.0000 1.0000
WORLD_INNODB COUNTRY Name Afghanistan Zimbabwe 0.0000 10.1088 1.0000
WORLD_INNODB COUNTRY Population 0 1277558000 0.0000 4.0000 1.0575
WORLD_INNODB COUNTRY SurfaceArea 0.40 17075400.00 0.0000 4.0000 1.0042
WORLD_INNODB COUNTRYLANGUAGE Country ABW ZWE 0.0000 3.0000 4.2232
WORLD_INNODB COUNTRYLANGUAGE Language Abhyasi [South]Mande 0.0000 7.1778 2.1532
WORLD_INNODB COUNTRYLANGUAGE Percentage 0.0 99.9 0.0000 4.0000 2.7640
SELECT UPPER(db_name), UPPER(table_name),
index_name, prefix_arity, avg_frequency
FROM mysql.index_stats;
UPPER(db_name) UPPER(table_name) index_name prefix_arity avg_frequency
WORLD_INNODB CITY Country 1 17.5819
WORLD_INNODB CITY PRIMARY 1 1.0000
WORLD_INNODB CITY Population 1 1.0467
WORLD_INNODB COUNTRY Name 1 1.0000
WORLD_INNODB COUNTRY PRIMARY 1 1.0000
WORLD_INNODB COUNTRYLANGUAGE PRIMARY 1 4.2232
WORLD_INNODB COUNTRYLANGUAGE PRIMARY 2 1.0000
WORLD_INNODB COUNTRYLANGUAGE Percentage 1 2.7640
DROP DATABASE world_innodb;
SELECT UPPER(db_name), UPPER(table_name), cardinality
FROM mysql.table_stats;
UPPER(db_name) UPPER(table_name) cardinality
SELECT UPPER(db_name), UPPER(table_name),
column_name, min_value, max_value, nulls_ratio, avg_length, avg_frequency
FROM mysql.column_stats;
UPPER(db_name) UPPER(table_name) column_name min_value max_value nulls_ratio avg_length avg_frequency
SELECT UPPER(db_name), UPPER(table_name),
index_name, prefix_arity, avg_frequency
FROM mysql.index_stats;
UPPER(db_name) UPPER(table_name) index_name prefix_arity avg_frequency
DELETE FROM mysql.table_stats;
DELETE FROM mysql.column_stats;
DELETE FROM mysql.index_stats;
#
# Bug mdev-4357: empty string as a value of the HIST_SIZE column
# from mysql.column_stats
#
create table t1 (a int);
insert into t1 values (1),(2),(3);
set histogram_size=10;
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
select db_name, table_name, column_name,
min_value, max_value,
nulls_ratio, avg_frequency,
hist_size, hist_type, decode_histogram(hist_type,histogram)
FROM mysql.column_stats
ORDER BY db_name, table_name, column_name;
db_name table_name column_name min_value max_value nulls_ratio avg_frequency hist_size hist_type decode_histogram(hist_type,histogram)
test t1 a 1 3 0.0000 1.0000 3 JSON_HB {
"histogram_hb_v2": [
{
"start": "1",
"size": 0.333333333,
"ndv": 1
},
{
"start": "2",
"size": 0.333333333,
"ndv": 1
},
{
"start": "3",
"end": "3",
"size": 0.333333333,
"ndv": 1
}
]
}
set histogram_size=default;
drop table t1;
#
# Bug mdev-4359: wrong setting of the HIST_SIZE column
# (see also mdev-4357) from mysql.column_stats
#
create table t1 ( a int);
insert into t1 values (1),(2),(3),(4),(5);
set histogram_size=10;
set histogram_type=@DOUBLE_PREC_TYPE;
show variables like 'histogram%';
Variable_name Value
histogram_size 10
histogram_type JSON_HB
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
select db_name, table_name, column_name,
min_value, max_value,
nulls_ratio, avg_frequency,
hist_size, hist_type, decode_histogram(hist_type,histogram)
FROM mysql.column_stats
ORDER BY db_name, table_name, column_name;
db_name table_name column_name min_value max_value nulls_ratio avg_frequency hist_size hist_type decode_histogram(hist_type,histogram)
test t1 a 1 5 0.0000 1.0000 5 JSON_HB {
"histogram_hb_v2": [
{
"start": "1",
"size": 0.2,
"ndv": 1
},
{
"start": "2",
"size": 0.2,
"ndv": 1
},
{
"start": "3",
"size": 0.2,
"ndv": 1
},
{
"start": "4",
"size": 0.2,
"ndv": 1
},
{
"start": "5",
"end": "5",
"size": 0.2,
"ndv": 1
}
]
}
set histogram_size=0;
set histogram_type=@SINGLE_PREC_TYPE;
drop table t1;
#
# Bug mdev-4369: histogram for a column with many distinct values
#
CREATE TABLE t1 (id int);
CREATE TABLE t2 (id int);
INSERT INTO t1 (id) VALUES (1), (1), (1),(1);
INSERT INTO t1 (id) SELECT id FROM t1;
INSERT INTO t1 SELECT id+1 FROM t1;
INSERT INTO t1 SELECT id+2 FROM t1;
INSERT INTO t1 SELECT id+4 FROM t1;
INSERT INTO t1 SELECT id+8 FROM t1;
INSERT INTO t1 SELECT id+16 FROM t1;
INSERT INTO t1 SELECT id+32 FROM t1;
INSERT INTO t1 SELECT id+64 FROM t1;
INSERT INTO t1 SELECT id+128 FROM t1;
INSERT INTO t1 SELECT id+256 FROM t1;
INSERT INTO t1 SELECT id+512 FROM t1;
INSERT INTO t2 SELECT id FROM t1 ORDER BY id*rand();
SELECT COUNT(*) FROM t2;
COUNT(*)
8192
SELECT COUNT(DISTINCT id) FROM t2;
COUNT(DISTINCT id)
1024
set @@tmp_table_size=1024*16;
set @@max_heap_table_size=1024*16;
set histogram_size=63;
analyze table t2 persistent for all;
Table Op Msg_type Msg_text
test.t2 analyze status Engine-independent statistics collected
test.t2 analyze status OK
select db_name, table_name, column_name,
min_value, max_value,
nulls_ratio, avg_frequency,
hist_size, hist_type, HEX(histogram)
FROM mysql.column_stats;
db_name table_name column_name min_value max_value nulls_ratio avg_frequency hist_size hist_type HEX(histogram)
test t2 id 1 1024 0.0000 8.0000 64 JSON_HB 7B0A202022686973746F6772616D5F68625F7632223A205B0A202020207B0A202020202020227374617274223A202231222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A20223137222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A20223333222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A20223439222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A20223636222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A20223832222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A20223938222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022313134222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022313331222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022313437222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022313633222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022313739222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022313936222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022323132222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022323238222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022323434222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022323631222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022323737222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022323933222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022333039222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022333236222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022333432222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022333538222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022333734222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022333931222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022343037222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022343233222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022343339222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022343536222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022343732222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022343838222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022353034222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022353231222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022353337222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022353533222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022353639222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022353836222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022363032222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022363138222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022363334222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022363531222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022363637222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022363833222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022363939222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022373136222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022373332222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022373438222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022373634222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022373831222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022373937222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022383133222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022383239222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022383436222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022383632222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022383738222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022383934222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022393131222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022393237222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022393433222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022393539222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022393736222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A2022393932222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A202231303038222C0A2020202020202273697A65223A20302E3031353836393134312C0A202020202020226E6476223A2031370A202020207D2C0A202020207B0A202020202020227374617274223A202231303234222C0A20202020202022656E64223A202231303234222C0A2020202020202273697A65223A20322E343431343036652D342C0A202020202020226E6476223A20310A202020207D0A20205D0A7D
set histogram_size=0;
drop table t1, t2;
set use_stat_tables=@save_use_stat_tables;
#
# Bug MDEV-7383: min/max value for a column not utf8 compatible
#
create table t1 (a varchar(100)) engine=MyISAM;
insert into t1 values(unhex('D879626AF872675F73E662F8'));
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
show warnings;
Level Code Message
select db_name, table_name, column_name,
HEX(min_value), HEX(max_value),
nulls_ratio, avg_frequency,
hist_size, hist_type, HEX(histogram)
FROM mysql.column_stats;
db_name table_name column_name HEX(min_value) HEX(max_value) nulls_ratio avg_frequency hist_size hist_type HEX(histogram)
test t1 a D879626AF872675F73E662F8 D879626AF872675F73E662F8 0.0000 1.0000 0 NULL NULL
drop table t1;
#
# MDEB-9744: session optimizer_use_condition_selectivity=5 causing SQL Error (1918):
# Encountered illegal value '' when converting to DECIMAL
#
set @save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity;
set optimizer_use_condition_selectivity=3, use_stat_tables=preferably;
create table t1 (id int(10),cost decimal(9,2)) engine=innodb;
ANALYZE TABLE t1 PERSISTENT FOR ALL;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
create temporary table t2 (id int);
insert into t2 (id) select id from t1 where cost > 0;
select * from t2;
id
set use_stat_tables=@save_use_stat_tables;
set optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
drop table t1,t2;
#
# MDEV-16507: statistics for temporary tables should not be used
#
SET
@save_optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity;
SET @@use_stat_tables = preferably ;
SET @@optimizer_use_condition_selectivity = 4;
CREATE TABLE t1 (
TIMESTAMP TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP
);
SET @had_t1_table= @@warning_count != 0;
CREATE TEMPORARY TABLE tmp_t1 LIKE t1;
INSERT INTO tmp_t1 VALUES (now());
INSERT INTO t1 SELECT * FROM tmp_t1 WHERE @had_t1_table=0;
DROP TABLE t1;
SET
use_stat_tables=@save_use_stat_tables;
SET
optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
# End of 10.0 tests
#
# MDEV-9590: Always print "Engine-independent statistic" warnings and
# might be filtering columns unintentionally from engines
#
set use_stat_tables='NEVER';
create table t1 (test blob);
show variables like 'use_stat_tables';
Variable_name Value
use_stat_tables NEVER
analyze table t1;
Table Op Msg_type Msg_text
test.t1 analyze status Table is already up to date
drop table t1;
#
# MDEV-10435 crash with bad stat tables
#
set use_stat_tables='preferably';
call mtr.add_suppression("Column count of mysql.table_stats is wrong. Expected 3, found 1. The table is probably corrupted");
rename table mysql.table_stats to test.table_stats;
flush tables;
create table t1 (a int);
rename table t1 to t2, t3 to t4;
ERROR 42S02: Table 'test.t3' doesn't exist
drop table t1;
rename table test.table_stats to mysql.table_stats;
rename table mysql.table_stats to test.table_stats;
create table mysql.table_stats (a int);
flush tables;
create table t1 (a int);
rename table t1 to t2, t3 to t4;
ERROR 42S02: Table 'test.t3' doesn't exist
drop table t1, mysql.table_stats;
rename table test.table_stats to mysql.table_stats;
#
# MDEV-19334: bool is_eits_usable(Field*): Assertion `field->table->stats_is_read' failed.
#
create temporary table t1(a int);
insert into t1 values (1),(2),(3);
set use_stat_tables=preferably;
set @optimizer_use_condition_selectivity= @@optimizer_use_condition_selectivity;
set optimizer_use_condition_selectivity=4;
select * from t1 where a >= 2;
a
2
3
drop table t1;
set @@optimizer_use_condition_selectivity= @save_optimizer_use_condition_selectivity;
set use_stat_tables=@save_use_stat_tables;
#
# Start of 10.2 tests
#
#
# MDEV-10134 Add full support for DEFAULT
#
#
# End of 10.2 tests
#
set histogram_size=@save_histogram_size, histogram_type=@save_hist_type;
#
# Start of 10.4 tests
#
#
# Test analyze_sample_percentage system variable.
#
set @save_use_stat_tables=@@use_stat_tables;
set @save_analyze_sample_percentage=@@analyze_sample_percentage;
set session rand_seed1=42;
set session rand_seed2=62;
set use_stat_tables=PREFERABLY;
set histogram_size=10;
CREATE TABLE t1 (id int);
INSERT INTO t1 (id) VALUES (1), (1), (1), (1), (1), (1), (1);
INSERT INTO t1 (id) SELECT id FROM t1;
INSERT INTO t1 SELECT id+1 FROM t1;
INSERT INTO t1 SELECT id+2 FROM t1;
INSERT INTO t1 SELECT id+4 FROM t1;
INSERT INTO t1 SELECT id+8 FROM t1;
INSERT INTO t1 SELECT id+16 FROM t1;
INSERT INTO t1 SELECT id+32 FROM t1;
INSERT INTO t1 SELECT id+64 FROM t1;
INSERT INTO t1 SELECT id+128 FROM t1;
INSERT INTO t1 SELECT id+256 FROM t1;
INSERT INTO t1 SELECT id+512 FROM t1;
INSERT INTO t1 SELECT id+1024 FROM t1;
INSERT INTO t1 SELECT id+2048 FROM t1;
INSERT INTO t1 SELECT id+4096 FROM t1;
INSERT INTO t1 SELECT id+9192 FROM t1;
#
# This query will should show a full table scan analysis.
#
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
select table_name, column_name, min_value, max_value, nulls_ratio, avg_length, avg_frequency,
DECODE_HISTOGRAM(hist_type, histogram)
from mysql.column_stats;
table_name column_name min_value max_value nulls_ratio avg_length avg_frequency DECODE_HISTOGRAM(hist_type, histogram)
t1 id 1 17384 0.0000 4.0000 14.0000 {
"histogram_hb_v2": [
{
"start": "1",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "1639",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "3277",
"size": 0.099997384,
"ndv": 1640
},
{
"start": "4916",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "6554",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "8192",
"size": 0.099997384,
"ndv": 1640
},
{
"start": "10831",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "12469",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "14107",
"size": 0.099997384,
"ndv": 1640
},
{
"start": "15746",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "17384",
"end": "17384",
"size": 2.615792e-5,
"ndv": 1
}
]
}
set analyze_sample_percentage=0.1;
#
# This query will show an innacurate avg_frequency value.
#
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
select table_name, column_name, min_value, max_value, nulls_ratio, avg_length, avg_frequency,
DECODE_HISTOGRAM(hist_type, histogram)
from mysql.column_stats;
table_name column_name min_value max_value nulls_ratio avg_length avg_frequency DECODE_HISTOGRAM(hist_type, histogram)
t1 id 111 17026 0.0000 4.0000 10.4739 {
"histogram_hb_v2": [
{
"start": "111",
"size": 0.099056604,
"ndv": 20
},
{
"start": "988",
"size": 0.099056604,
"ndv": 21
},
{
"start": "2490",
"size": 0.099056604,
"ndv": 21
},
{
"start": "4088",
"size": 0.099056604,
"ndv": 21
},
{
"start": "5743",
"size": 0.099056604,
"ndv": 21
},
{
"start": "7772",
"size": 0.099056604,
"ndv": 21
},
{
"start": "10164",
"size": 0.099056604,
"ndv": 21
},
{
"start": "12022",
"size": 0.099056604,
"ndv": 21
},
{
"start": "14092",
"size": 0.099056604,
"ndv": 21
},
{
"start": "15122",
"size": 0.099056604,
"ndv": 21
},
{
"start": "16975",
"end": "17026",
"size": 0.009433962,
"ndv": 2
}
]
}
#
# This query will show a better avg_frequency value.
#
set analyze_sample_percentage=25;
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
select table_name, column_name, min_value, max_value, nulls_ratio, avg_length, avg_frequency,
DECODE_HISTOGRAM(hist_type, histogram)
from mysql.column_stats;
table_name column_name min_value max_value nulls_ratio avg_length avg_frequency DECODE_HISTOGRAM(hist_type, histogram)
t1 id 1 17384 0.0000 4.0000 14.0401 {
"histogram_hb_v2": [
{
"start": "1",
"size": 0.09999826,
"ndv": 1591
},
{
"start": "1623",
"size": 0.09999826,
"ndv": 1600
},
{
"start": "3252",
"size": 0.09999826,
"ndv": 1587
},
{
"start": "4868",
"size": 0.09999826,
"ndv": 1593
},
{
"start": "6483",
"size": 0.09999826,
"ndv": 1630
},
{
"start": "8151",
"size": 0.09999826,
"ndv": 1608
},
{
"start": "10789",
"size": 0.09999826,
"ndv": 1619
},
{
"start": "12433",
"size": 0.09999826,
"ndv": 1627
},
{
"start": "14077",
"size": 0.09999826,
"ndv": 1614
},
{
"start": "15724",
"size": 0.09999826,
"ndv": 1624
},
{
"start": "17384",
"end": "17384",
"size": 1.739705e-5,
"ndv": 1
}
]
}
set analyze_sample_percentage=0;
#
# Test self adjusting sampling level.
#
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
select table_name, column_name, min_value, max_value, nulls_ratio, avg_length, avg_frequency,
DECODE_HISTOGRAM(hist_type, histogram)
from mysql.column_stats;
table_name column_name min_value max_value nulls_ratio avg_length avg_frequency DECODE_HISTOGRAM(hist_type, histogram)
t1 id 1 17384 0.0000 4.0000 13.9812 {
"histogram_hb_v2": [
{
"start": "1",
"size": 0.099999181,
"ndv": 1651
},
{
"start": "1651",
"size": 0.099999181,
"ndv": 1656
},
{
"start": "3306",
"size": 0.099999181,
"ndv": 1642
},
{
"start": "4948",
"size": 0.099999181,
"ndv": 1649
},
{
"start": "6596",
"size": 0.099999181,
"ndv": 1644
},
{
"start": "9239",
"size": 0.099999181,
"ndv": 1625
},
{
"start": "10863",
"size": 0.099999181,
"ndv": 1633
},
{
"start": "12495",
"size": 0.099999181,
"ndv": 1619
},
{
"start": "14113",
"size": 0.099999181,
"ndv": 1645
},
{
"start": "15757",
"size": 0.099999181,
"ndv": 1628
},
{
"start": "17384",
"end": "17384",
"size": 8.190612e-6,
"ndv": 1
}
]
}
#
# Test record estimation is working properly.
#
select count(*) from t1;
count(*)
229376
explain select * from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 229060
set analyze_sample_percentage=100;
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status Table is already up to date
select table_name, column_name, min_value, max_value, nulls_ratio, avg_length, avg_frequency,
DECODE_HISTOGRAM(hist_type, histogram)
from mysql.column_stats;
table_name column_name min_value max_value nulls_ratio avg_length avg_frequency DECODE_HISTOGRAM(hist_type, histogram)
t1 id 1 17384 0.0000 4.0000 14.0000 {
"histogram_hb_v2": [
{
"start": "1",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "1639",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "3277",
"size": 0.099997384,
"ndv": 1640
},
{
"start": "4916",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "6554",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "8192",
"size": 0.099997384,
"ndv": 1640
},
{
"start": "10831",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "12469",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "14107",
"size": 0.099997384,
"ndv": 1640
},
{
"start": "15746",
"size": 0.099997384,
"ndv": 1639
},
{
"start": "17384",
"end": "17384",
"size": 2.615792e-5,
"ndv": 1
}
]
}
explain select * from t1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 229376
drop table t1;
set analyze_sample_percentage=@save_analyze_sample_percentage;
set histogram_size=@save_histogram_size;
set use_stat_tables=@save_use_stat_tables;
set @@global.histogram_size=@save_histogram_size;
drop table if exists t1;
set @save_histogram_type=@@histogram_type;
set @save_histogram_size=@@histogram_size;
create table ten(a int primary key);
insert into ten values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
set histogram_size=100;
set histogram_type='double_prec_hb';
create table t1_bin (a varchar(255));
insert into t1_bin select concat('a-', a) from ten;
analyze table t1_bin persistent for all;
Table Op Msg_type Msg_text
test.t1_bin analyze status Engine-independent statistics collected
test.t1_bin analyze status OK
select hex(histogram) from mysql.column_stats where table_name='t1_bin';
hex(histogram)
00000000000000000000711C711C711C711C711CE338E338E338E338E33855555555555555555555C671C671C671C671C671388E388E388E388E388EAAAAAAAAAAAAAAAAAAAA1BC71BC71BC71BC71BC78DE38DE38DE38DE38DE3FFFFFFFFFFFFFFFFFFFF
explain extended select * from t1_bin where a between 'a-3a' and 'zzzzzzzzz';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1_bin ALL NULL NULL NULL NULL 10 58.82 Using where
Warnings:
Note 1003 select `test`.`t1_bin`.`a` AS `a` from `test`.`t1_bin` where `test`.`t1_bin`.`a` between 'a-3a' and 'zzzzzzzzz'
analyze select * from t1_bin where a between 'a-3a' and 'zzzzzzzzz';
id select_type table type possible_keys key key_len ref rows r_rows filtered r_filtered Extra
1 SIMPLE t1_bin ALL NULL NULL NULL NULL 10 10.00 58.82 60.00 Using where
set histogram_type=json_hb;
create table t1_json (a varchar(255));
insert into t1_json select concat('a-', a) from ten;
analyze table t1_json persistent for all;
Table Op Msg_type Msg_text
test.t1_json analyze status Engine-independent statistics collected
test.t1_json analyze status OK
select * from mysql.column_stats where table_name='t1_json';
db_name table_name column_name min_value max_value nulls_ratio avg_length avg_frequency hist_size hist_type histogram
test t1_json a a-0 a-9 0.0000 3.0000 1.0000 10 JSON_HB {
"histogram_hb_v2": [
{
"start": "a-0",
"size": 0.1,
"ndv": 1
},
{
"start": "a-1",
"size": 0.1,
"ndv": 1
},
{
"start": "a-2",
"size": 0.1,
"ndv": 1
},
{
"start": "a-3",
"size": 0.1,
"ndv": 1
},
{
"start": "a-4",
"size": 0.1,
"ndv": 1
},
{
"start": "a-5",
"size": 0.1,
"ndv": 1
},
{
"start": "a-6",
"size": 0.1,
"ndv": 1
},
{
"start": "a-7",
"size": 0.1,
"ndv": 1
},
{
"start": "a-8",
"size": 0.1,
"ndv": 1
},
{
"start": "a-9",
"end": "a-9",
"size": 0.1,
"ndv": 1
}
]
}
explain extended select * from t1_json where a between 'a-3a' and 'zzzzzzzzz';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1_json ALL NULL NULL NULL NULL 10 50.00 Using where
Warnings:
Note 1003 select `test`.`t1_json`.`a` AS `a` from `test`.`t1_json` where `test`.`t1_json`.`a` between 'a-3a' and 'zzzzzzzzz'
analyze select * from t1_json where a between 'a-3a' and 'zzzzzzzzz';
id select_type table type possible_keys key key_len ref rows r_rows filtered r_filtered Extra
1 SIMPLE t1_json ALL NULL NULL NULL NULL 10 10.00 50.00 60.00 Using where
explain extended select * from t1_json where a < 'b-1a';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1_json ALL NULL NULL NULL NULL 10 90.00 Using where
Warnings:
Note 1003 select `test`.`t1_json`.`a` AS `a` from `test`.`t1_json` where `test`.`t1_json`.`a` < 'b-1a'
analyze select * from t1_json where a > 'zzzzzzzzz';
id select_type table type possible_keys key key_len ref rows r_rows filtered r_filtered Extra
1 SIMPLE t1_json ALL NULL NULL NULL NULL 10 10.00 10.00 0.00 Using where
drop table ten;
UPDATE mysql.column_stats
SET histogram='["not-what-you-expect"]' WHERE table_name='t1_json';
FLUSH TABLES;
explain select * from t1_json limit 1;
ERROR HY000: Failed to parse histogram: Root JSON element must be a JSON object at offset 0.
UPDATE mysql.column_stats
SET histogram='{"histogram_hb_v2":"not-histogram"}' WHERE table_name='t1_json';
FLUSH TABLES;
explain select * from t1_json limit 1;
ERROR HY000: Failed to parse histogram: A JSON array expected at offset 0.
UPDATE mysql.column_stats
SET histogram='{"histogram_hb_v2":["not-a-bucket"]}'
WHERE table_name='t1_json';
FLUSH TABLES;
explain select * from t1_json limit 1;
ERROR HY000: Failed to parse histogram: Object expected at offset 19.
UPDATE mysql.column_stats
SET histogram='{"histogram_hb_v2":[{"no-expected-members":1}]}'
WHERE table_name='t1_json';
FLUSH TABLES;
explain select * from t1_json limit 1;
ERROR HY000: Failed to parse histogram: .start member must be present and be a scalar at offset 20.
UPDATE mysql.column_stats
SET histogram='{"histogram_hb_v2":[{"start":{}}]}'
WHERE table_name='t1_json';
FLUSH TABLES;
explain select * from t1_json limit 1;
ERROR HY000: Failed to parse histogram: .start member must be present and be a scalar at offset 20.
UPDATE mysql.column_stats
SET histogram='{"histogram_hb_v2":[{"start":"aaa", "size":"not-an-integer"}]}'
WHERE table_name='t1_json';
FLUSH TABLES;
explain select * from t1_json limit 1;
ERROR HY000: Failed to parse histogram: .size member must be present and be a scalar at offset 20.
UPDATE mysql.column_stats
SET histogram='{"histogram_hb_v2":[{"start":"aaa", "size":0.25}]}'
WHERE table_name='t1_json';
FLUSH TABLES;
explain select * from t1_json limit 1;
ERROR HY000: Failed to parse histogram: .ndv member must be present and be a scalar at offset 20.
UPDATE mysql.column_stats
SET histogram='{"histogram_hb_v2":[{"start":"aaa", "size":0.25, "ndv":1}]}'
WHERE table_name='t1_json';
FLUSH TABLES;
explain select * from t1_json limit 1;
ERROR HY000: Failed to parse histogram: .end must be present in the last bucket and only there at offset 0.
UPDATE mysql.column_stats
SET histogram='{"histogram_hb_v2":[]}'
WHERE table_name='t1_json';
FLUSH TABLES;
explain select * from t1_json limit 1;
ERROR HY000: Failed to parse histogram: .end must be present in the last bucket and only there at offset 0.
create table t2 (
city varchar(100)
);
set histogram_size=50;
insert into t2 select 'Moscow' from seq_1_to_99;
insert into t2 select 'Helsinki' from seq_1_to_2;
set histogram_type=json_hb;
analyze table t2 persistent for all;
Table Op Msg_type Msg_text
test.t2 analyze status Engine-independent statistics collected
test.t2 analyze status OK
explain extended select * from t2 where city = 'Moscow';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 101 98.02 Using where
Warnings:
Note 1003 select `test`.`t2`.`city` AS `city` from `test`.`t2` where `test`.`t2`.`city` = 'Moscow'
analyze select * from t2 where city = 'Moscow';
id select_type table type possible_keys key key_len ref rows r_rows filtered r_filtered Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 101 101.00 98.02 98.02 Using where
explain extended select * from t2 where city = 'Helsinki';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 101 1.98 Using where
Warnings:
Note 1003 select `test`.`t2`.`city` AS `city` from `test`.`t2` where `test`.`t2`.`city` = 'Helsinki'
analyze select * from t2 where city = 'helsinki';
id select_type table type possible_keys key key_len ref rows r_rows filtered r_filtered Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 101 101.00 1.98 1.98 Using where
explain extended select * from t2 where city < 'Lagos';
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 101 50.00 Using where
Warnings:
Note 1003 select `test`.`t2`.`city` AS `city` from `test`.`t2` where `test`.`t2`.`city` < 'Lagos'
drop table t1_bin;
drop table t1_json;
drop table t2;
DELETE FROM mysql.column_stats;
create schema world;
use world;
set histogram_type='JSON_HB';
set histogram_size=50;
ANALYZE TABLE Country, City, CountryLanguage persistent for all;
SELECT column_name, min_value, max_value, hist_size, hist_type, histogram FROM mysql.column_stats;
column_name min_value max_value hist_size hist_type histogram
Code ABW ZWE 60 JSON_HB {
"histogram_hb_v2": [
{
"start": "ABW",
"size": 0.016736402,
"ndv": 4
},
{
"start": "ALB",
"size": 0.016736402,
"ndv": 4
},
{
"start": "ARG",
"size": 0.016736402,
"ndv": 4
},
{
"start": "ATF",
"size": 0.016736402,
"ndv": 4
},
{
"start": "AZE",
"size": 0.016736402,
"ndv": 4
},
{
"start": "BFA",
"size": 0.016736402,
"ndv": 4
},
{
"start": "BHS",
"size": 0.016736402,
"ndv": 4
},
{
"start": "BMU",
"size": 0.016736402,
"ndv": 4
},
{
"start": "BRN",
"size": 0.016736402,
"ndv": 4
},
{
"start": "CAF",
"size": 0.016736402,
"ndv": 4
},
{
"start": "CHL",
"size": 0.016736402,
"ndv": 4
},
{
"start": "COD",
"size": 0.016736402,
"ndv": 4
},
{
"start": "COM",
"size": 0.016736402,
"ndv": 4
},
{
"start": "CXR",
"size": 0.016736402,
"ndv": 4
},
{
"start": "DEU",
"size": 0.016736402,
"ndv": 4
},
{
"start": "DOM",
"size": 0.016736402,
"ndv": 4
},
{
"start": "ERI",
"size": 0.016736402,
"ndv": 4
},
{
"start": "ETH",
"size": 0.016736402,
"ndv": 4
},
{
"start": "FRA",
"size": 0.016736402,
"ndv": 4
},
{
"start": "GBR",
"size": 0.016736402,
"ndv": 4
},
{
"start": "GIN",
"size": 0.016736402,
"ndv": 4
},
{
"start": "GNQ",
"size": 0.016736402,
"ndv": 4
},
{
"start": "GTM",
"size": 0.016736402,
"ndv": 4
},
{
"start": "HKG",
"size": 0.016736402,
"ndv": 4
},
{
"start": "HTI",
"size": 0.016736402,
"ndv": 4
},
{
"start": "IOT",
"size": 0.016736402,
"ndv": 4
},
{
"start": "ISL",
"size": 0.016736402,
"ndv": 4
},
{
"start": "JOR",
"size": 0.016736402,
"ndv": 4
},
{
"start": "KGZ",
"size": 0.016736402,
"ndv": 4
},
{
"start": "KOR",
"size": 0.016736402,
"ndv": 4
},
{
"start": "LBR",
"size": 0.016736402,
"ndv": 4
},
{
"start": "LKA",
"size": 0.016736402,
"ndv": 4
},
{
"start": "LVA",
"size": 0.016736402,
"ndv": 4
},
{
"start": "MDA",
"size": 0.016736402,
"ndv": 4
},
{
"start": "MHL",
"size": 0.016736402,
"ndv": 4
},
{
"start": "MMR",
"size": 0.016736402,
"ndv": 4
},
{
"start": "MRT",
"size": 0.016736402,
"ndv": 4
},
{
"start": "MWI",
"size": 0.016736402,
"ndv": 4
},
{
"start": "NCL",
"size": 0.016736402,
"ndv": 4
},
{
"start": "NIC",
"size": 0.016736402,
"ndv": 4
},
{
"start": "NPL",
"size": 0.016736402,
"ndv": 4
},
{
"start": "PAK",
"size": 0.016736402,
"ndv": 4
},
{
"start": "PHL",
"size": 0.016736402,
"ndv": 4
},
{
"start": "PRI",
"size": 0.016736402,
"ndv": 4
},
{
"start": "PSE",
"size": 0.016736402,
"ndv": 4
},
{
"start": "ROM",
"size": 0.016736402,
"ndv": 4
},
{
"start": "SDN",
"size": 0.016736402,
"ndv": 4
},
{
"start": "SHN",
"size": 0.016736402,
"ndv": 4
},
{
"start": "SLV",
"size": 0.016736402,
"ndv": 4
},
{
"start": "STP",
"size": 0.016736402,
"ndv": 4
},
{
"start": "SWE",
"size": 0.016736402,
"ndv": 4
},
{
"start": "TCA",
"size": 0.016736402,
"ndv": 4
},
{
"start": "TJK",
"size": 0.016736402,
"ndv": 4
},
{
"start": "TON",
"size": 0.016736402,
"ndv": 4
},
{
"start": "TUV",
"size": 0.016736402,
"ndv": 4
},
{
"start": "UKR",
"size": 0.016736402,
"ndv": 4
},
{
"start": "UZB",
"size": 0.016736402,
"ndv": 4
},
{
"start": "VGB",
"size": 0.016736402,
"ndv": 4
},
{
"start": "WLF",
"size": 0.016736402,
"ndv": 4
},
{
"start": "ZAF",
"end": "ZWE",
"size": 0.012552301,
"ndv": 3
}
]
}
Country ABW ZWE 39 JSON_HB {
"histogram_hb_v2": [
{
"start": "ABW",
"size": 0.019857808,
"ndv": 11
},
{
"start": "ASM",
"size": 0.019857808,
"ndv": 14
},
{
"start": "BIH",
"size": 0.007109586,
"ndv": 5
},
{
"start": "BRA",
"size": 0.061289532,
"ndv": 1
},
{
"start": "BRB",
"size": 0.019857808,
"ndv": 9
},
{
"start": "CHL",
"size": 0.002451581,
"ndv": 1
},
{
"start": "CHN",
"size": 0.0889924,
"ndv": 1
},
{
"start": "CIV",
"size": 0.019857808,
"ndv": 10
},
{
"start": "CUB",
"size": 0.019857808,
"ndv": 6
},
{
"start": "DEU",
"size": 0.019857808,
"ndv": 8
},
{
"start": "EGY",
"size": 0.019857808,
"ndv": 4
},
{
"start": "ESP",
"size": 0.019857808,
"ndv": 11
},
{
"start": "GBR",
"size": 0.019857808,
"ndv": 2
},
{
"start": "GEO",
"size": 0.019857808,
"ndv": 21
},
{
"start": "IDN",
"size": 0.014219171,
"ndv": 1
},
{
"start": "IND",
"size": 0.083598921,
"ndv": 1
},
{
"start": "IRL",
"size": 0.019857808,
"ndv": 3
},
{
"start": "IRQ",
"size": 0.019857808,
"ndv": 6
},
{
"start": "JOR",
"size": 7.354744e-4,
"ndv": 1
},
{
"start": "JPN",
"size": 0.060799215,
"ndv": 1
},
{
"start": "KAZ",
"size": 0.019857808,
"ndv": 7
},
{
"start": "KOR",
"size": 0.019857808,
"ndv": 15
},
{
"start": "MCO",
"size": 0.002941898,
"ndv": 4
},
{
"start": "MEX",
"size": 0.042412356,
"ndv": 1
},
{
"start": "MHL",
"size": 0.019857808,
"ndv": 20
},
{
"start": "NGA",
"size": 0.019857808,
"ndv": 4
},
{
"start": "NLD",
"size": 0.019857808,
"ndv": 7
},
{
"start": "PAK",
"size": 0.008090218,
"ndv": 4
},
{
"start": "PHL",
"size": 0.033341505,
"ndv": 1
},
{
"start": "PLW",
"size": 0.019857808,
"ndv": 8
},
{
"start": "PSE",
"size": 0.008825693,
"ndv": 5
},
{
"start": "RUS",
"size": 0.046334886,
"ndv": 1
},
{
"start": "RWA",
"size": 0.019857808,
"ndv": 18
},
{
"start": "SWE",
"size": 0.019857808,
"ndv": 16
},
{
"start": "TUR",
"size": 0.019857808,
"ndv": 4
},
{
"start": "TZA",
"size": 0.015935278,
"ndv": 4
},
{
"start": "USA",
"size": 0.067173327,
"ndv": 1
},
{
"start": "UZB",
"size": 0.019857808,
"ndv": 7
},
{
"start": "VNM",
"end": "ZWE",
"size": 0.018877176,
"ndv": 9
}
]
}
Name Afghanistan Zimbabwe 60 JSON_HB {
"histogram_hb_v2": [
{
"start": "Afghanistan",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Andorra",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Antigua and Barbuda",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Australia",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Bahrain",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Belgium",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Bhutan",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Bouvet Island",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Bulgaria",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Cameroon",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Central African Republic",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Christmas Island",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Congo",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Croatia",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Côte d’Ivoire",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Dominican Republic",
"size": 0.016736402,
"ndv": 4
},
{
"start": "El Salvador",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Ethiopia",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Finland",
"size": 0.016736402,
"ndv": 4
},
{
"start": "French Southern territories",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Germany",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Greenland",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Guatemala",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Haiti",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Hong Kong",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Indonesia",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Israel",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Jordan",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Kuwait",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Lebanon",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Liechtenstein",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Macedonia",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Maldives",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Martinique",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Mexico",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Mongolia",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Myanmar",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Netherlands",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Nicaragua",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Norfolk Island",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Oman",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Panama",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Philippines",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Puerto Rico",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Rwanda",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Saint Lucia",
"size": 0.016736402,
"ndv": 4
},
{
"start": "San Marino",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Seychelles",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Slovenia",
"size": 0.016736402,
"ndv": 4
},
{
"start": "South Georgia and the South Sandwich Islands",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Sudan",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Sweden",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Tajikistan",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Tokelau",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Turkey",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Uganda",
"size": 0.016736402,
"ndv": 4
},
{
"start": "United States",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Vanuatu",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Virgin Islands, U.S.",
"size": 0.016736402,
"ndv": 4
},
{
"start": "Yugoslavia",
"end": "Zimbabwe",
"size": 0.012552301,
"ndv": 3
}
]
}
SurfaceArea 0.40 17075400.00 60 JSON_HB {
"histogram_hb_v2": [
{
"start": "0.40",
"size": 0.016736402,
"ndv": 4
},
{
"start": "14.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "26.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "59.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "102.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "181.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "236.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "264.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "344.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "388.00",
"size": 0.016736402,
"ndv": 3
},
{
"start": "455.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "549.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "694.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "800.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "1399.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "2510.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "4000.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "6257.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "10400.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "12173.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "17364.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "20256.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "23200.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "27834.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "29800.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "36125.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "43094.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "49012.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "56785.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "65610.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "75517.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "86600.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "93030.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "108889.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "112088.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "120538.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "143998.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "175016.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "199900.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "238391.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "245857.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "274000.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "309500.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "329758.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "357022.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "438317.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "462840.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "513115.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "581730.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "637657.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "756626.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "824292.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "1001449.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "1138914.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "1267000.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "1648195.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "2149690.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "2505813.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "7741220.00",
"size": 0.016736402,
"ndv": 4
},
{
"start": "9970610.00",
"end": "17075400.00",
"size": 0.012552301,
"ndv": 3
}
]
}
Population 0 1277558000 59 JSON_HB {
"histogram_hb_v2": [
{
"start": "0",
"size": 0.029288703,
"ndv": 1
},
{
"start": "50",
"size": 0.016736402,
"ndv": 4
},
{
"start": "2000",
"size": 0.016736402,
"ndv": 2
},
{
"start": "3200",
"size": 0.016736402,
"ndv": 4
},
{
"start": "11000",
"size": 0.016736402,
"ndv": 3
},
{
"start": "17000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "25000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "38000",
"size": 0.016736402,
"ndv": 3
},
{
"start": "64000",
"size": 0.016736402,
"ndv": 3
},
{
"start": "71000",
"size": 0.016736402,
"ndv": 3
},
{
"start": "83000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "103000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "149000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "181000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "235000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "286000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "380200",
"size": 0.016736402,
"ndv": 4
},
{
"start": "435700",
"size": 0.016736402,
"ndv": 4
},
{
"start": "473000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "638000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "861000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "1213000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "1439200",
"size": 0.016736402,
"ndv": 4
},
{
"start": "1987800",
"size": 0.016736402,
"ndv": 4
},
{
"start": "2424200",
"size": 0.016736402,
"ndv": 4
},
{
"start": "2662000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "3101000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "3401200",
"size": 0.016736402,
"ndv": 4
},
{
"start": "3698500",
"size": 0.016736402,
"ndv": 4
},
{
"start": "3869000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "4459000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "4699000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "5074000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "5398700",
"size": 0.016736402,
"ndv": 4
},
{
"start": "6097000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "6485000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "7430000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "8091800",
"size": 0.016736402,
"ndv": 4
},
{
"start": "8495000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "9586000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "10236000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "10640000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "11201000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "11937000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "15085000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "16125000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "18886000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "21778000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "22720000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "24170000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "29490000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "33517000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "40377000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "50456000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "59623400",
"size": 0.016736402,
"ndv": 4
},
{
"start": "67702000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "82164700",
"size": 0.016736402,
"ndv": 4
},
{
"start": "129155000",
"size": 0.016736402,
"ndv": 4
},
{
"start": "212107000",
"end": "1277558000",
"size": 0.016736402,
"ndv": 4
}
]
}
Capital 1 4074 58 JSON_HB {
"histogram_hb_v2": [
{
"start": "1",
"size": 0.017241379,
"ndv": 4
},
{
"start": "35",
"size": 0.017241379,
"ndv": 4
},
{
"start": "62",
"size": 0.017241379,
"ndv": 4
},
{
"start": "126",
"size": 0.017241379,
"ndv": 4
},
{
"start": "148",
"size": 0.017241379,
"ndv": 4
},
{
"start": "179",
"size": 0.017241379,
"ndv": 4
},
{
"start": "192",
"size": 0.017241379,
"ndv": 4
},
{
"start": "211",
"size": 0.017241379,
"ndv": 4
},
{
"start": "539",
"size": 0.017241379,
"ndv": 4
},
{
"start": "554",
"size": 0.017241379,
"ndv": 4
},
{
"start": "586",
"size": 0.017241379,
"ndv": 4
},
{
"start": "645",
"size": 0.017241379,
"ndv": 4
},
{
"start": "756",
"size": 0.017241379,
"ndv": 4
},
{
"start": "901",
"size": 0.017241379,
"ndv": 4
},
{
"start": "910",
"size": 0.017241379,
"ndv": 4
},
{
"start": "919",
"size": 0.017241379,
"ndv": 4
},
{
"start": "927",
"size": 0.017241379,
"ndv": 4
},
{
"start": "937",
"size": 0.017241379,
"ndv": 4
},
{
"start": "1365",
"size": 0.017241379,
"ndv": 4
},
{
"start": "1450",
"size": 0.017241379,
"ndv": 4
},
{
"start": "1530",
"size": 0.017241379,
"ndv": 4
},
{
"start": "1791",
"size": 0.017241379,
"ndv": 4
},
{
"start": "1822",
"size": 0.017241379,
"ndv": 4
},
{
"start": "1889",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2257",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2317",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2409",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2432",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2440",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2452",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2460",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2482",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2508",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2515",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2696",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2726",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2738",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2807",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2881",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2890",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2919",
"size": 0.017241379,
"ndv": 4
},
{
"start": "2974",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3018",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3064",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3068",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3171",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3206",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3212",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3236",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3250",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3315",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3334",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3349",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3424",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3492",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3520",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3539",
"size": 0.017241379,
"ndv": 4
},
{
"start": "3813",
"end": "4074",
"size": 0.017241379,
"ndv": 4
}
]
}
ID 1 4079 51 JSON_HB {
"histogram_hb_v2": [
{
"start": "1",
"size": 0.019857808,
"ndv": 81
},
{
"start": "82",
"size": 0.019857808,
"ndv": 81
},
{
"start": "163",
"size": 0.019857808,
"ndv": 81
},
{
"start": "244",
"size": 0.019857808,
"ndv": 81
},
{
"start": "325",
"size": 0.019857808,
"ndv": 81
},
{
"start": "406",
"size": 0.019857808,
"ndv": 81
},
{
"start": "487",
"size": 0.019857808,
"ndv": 81
},
{
"start": "568",
"size": 0.019857808,
"ndv": 81
},
{
"start": "649",
"size": 0.019857808,
"ndv": 81
},
{
"start": "730",
"size": 0.019857808,
"ndv": 81
},
{
"start": "811",
"size": 0.019857808,
"ndv": 81
},
{
"start": "892",
"size": 0.019857808,
"ndv": 81
},
{
"start": "973",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1054",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1135",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1216",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1297",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1378",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1459",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1540",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1621",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1702",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1783",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1864",
"size": 0.019857808,
"ndv": 81
},
{
"start": "1945",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2026",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2107",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2188",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2269",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2350",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2431",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2512",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2593",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2674",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2755",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2836",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2917",
"size": 0.019857808,
"ndv": 81
},
{
"start": "2998",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3079",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3160",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3241",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3322",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3403",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3484",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3565",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3646",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3727",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3808",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3889",
"size": 0.019857808,
"ndv": 81
},
{
"start": "3970",
"size": 0.019857808,
"ndv": 81
},
{
"start": "4051",
"end": "4079",
"size": 0.007109586,
"ndv": 29
}
]
}
Name A Coruña (La Coruña) Ürgenc 51 JSON_HB {
"histogram_hb_v2": [
{
"start": "A Coruña (La Coruña)",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Almere",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Arapiraca",
"size": 0.019857808,
"ndv": 79
},
{
"start": "Baidyabati",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Batumi",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Bijapur",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Breda",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Callao",
"size": 0.019857808,
"ndv": 78
},
{
"start": "Chaoyang",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Ciudad Losada",
"size": 0.019857808,
"ndv": 79
},
{
"start": "Curitiba",
"size": 0.019857808,
"ndv": 78
},
{
"start": "Dili",
"size": 0.019857808,
"ndv": 80
},
{
"start": "El Tigre",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Fort Wayne",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Gera",
"size": 0.019857808,
"ndv": 78
},
{
"start": "Guigang",
"size": 0.019857808,
"ndv": 78
},
{
"start": "Hayward",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Hubli-Dharwad",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Irbil",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Jelenia Góra",
"size": 0.019857808,
"ndv": 79
},
{
"start": "Kairouan",
"size": 0.019857808,
"ndv": 79
},
{
"start": "Kelowna",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Kolpino",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Kénitra",
"size": 0.019857808,
"ndv": 77
},
{
"start": "Lianyuan",
"size": 0.019857808,
"ndv": 79
},
{
"start": "Luoyang",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Mangalore",
"size": 0.019857808,
"ndv": 79
},
{
"start": "Meihekou",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Mombasa",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Nagaon",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Newark",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Nuuk",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Osnabrück",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Paterson",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Plovdiv",
"size": 0.019857808,
"ndv": 79
},
{
"start": "Puqi",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Rasht",
"size": 0.019857808,
"ndv": 79
},
{
"start": "Río Cuarto",
"size": 0.019857808,
"ndv": 74
},
{
"start": "San Francisco del Rincón",
"size": 0.019857808,
"ndv": 71
},
{
"start": "Santiago de los Caballeros",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Shaoyang",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Sorocaba",
"size": 0.019857808,
"ndv": 78
},
{
"start": "Swansea",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Tando Adam",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Tijuana",
"size": 0.019857808,
"ndv": 78
},
{
"start": "Tsukuba",
"size": 0.019857808,
"ndv": 81
},
{
"start": "Ussurijsk",
"size": 0.019857808,
"ndv": 76
},
{
"start": "Volgograd",
"size": 0.019857808,
"ndv": 80
},
{
"start": "Xianning",
"size": 0.019857808,
"ndv": 79
},
{
"start": "Yuzhou",
"size": 0.019857808,
"ndv": 80
},
{
"start": "al-Najaf",
"end": "Ürgenc",
"size": 0.007109586,
"ndv": 29
}
]
}
Population 42 10500000 51 JSON_HB {
"histogram_hb_v2": [
{
"start": "42",
"size": 0.019857808,
"ndv": 79
},
{
"start": "55810",
"size": 0.019857808,
"ndv": 63
},
{
"start": "90642",
"size": 0.019857808,
"ndv": 70
},
{
"start": "92686",
"size": 0.019857808,
"ndv": 74
},
{
"start": "94709",
"size": 0.019857808,
"ndv": 72
},
{
"start": "96883",
"size": 0.019857808,
"ndv": 74
},
{
"start": "98980",
"size": 0.019857808,
"ndv": 74
},
{
"start": "101000",
"size": 0.019857808,
"ndv": 78
},
{
"start": "102878",
"size": 0.019857808,
"ndv": 72
},
{
"start": "105419",
"size": 0.019857808,
"ndv": 75
},
{
"start": "107663",
"size": 0.019857808,
"ndv": 76
},
{
"start": "109755",
"size": 0.019857808,
"ndv": 74
},
{
"start": "112965",
"size": 0.019857808,
"ndv": 81
},
{
"start": "116103",
"size": 0.019857808,
"ndv": 76
},
{
"start": "119262",
"size": 0.019857808,
"ndv": 77
},
{
"start": "121954",
"size": 0.019857808,
"ndv": 74
},
{
"start": "124775",
"size": 0.019857808,
"ndv": 76
},
{
"start": "127350",
"size": 0.019857808,
"ndv": 76
},
{
"start": "131062",
"size": 0.019857808,
"ndv": 79
},
{
"start": "134222",
"size": 0.019857808,
"ndv": 77
},
{
"start": "138900",
"size": 0.019857808,
"ndv": 75
},
{
"start": "143000",
"size": 0.019857808,
"ndv": 78
},
{
"start": "147744",
"size": 0.019857808,
"ndv": 75
},
{
"start": "153022",
"size": 0.019857808,
"ndv": 80
},
{
"start": "159110",
"size": 0.019857808,
"ndv": 79
},
{
"start": "165889",
"size": 0.019857808,
"ndv": 77
},
{
"start": "172561",
"size": 0.019857808,
"ndv": 79
},
{
"start": "179000",
"size": 0.019857808,
"ndv": 79
},
{
"start": "185154",
"size": 0.019857808,
"ndv": 77
},
{
"start": "192733",
"size": 0.019857808,
"ndv": 77
},
{
"start": "200827",
"size": 0.019857808,
"ndv": 80
},
{
"start": "210068",
"size": 0.019857808,
"ndv": 81
},
{
"start": "221047",
"size": 0.019857808,
"ndv": 81
},
{
"start": "233400",
"size": 0.019857808,
"ndv": 80
},
{
"start": "246535",
"size": 0.019857808,
"ndv": 80
},
{
"start": "262481",
"size": 0.019857808,
"ndv": 80
},
{
"start": "277305",
"size": 0.019857808,
"ndv": 78
},
{
"start": "296127",
"size": 0.019857808,
"ndv": 78
},
{
"start": "315382",
"size": 0.019857808,
"ndv": 81
},
{
"start": "337580",
"size": 0.019857808,
"ndv": 81
},
{
"start": "361747",
"size": 0.019857808,
"ndv": 79
},
{
"start": "390350",
"size": 0.019857808,
"ndv": 81
},
{
"start": "425836",
"size": 0.019857808,
"ndv": 80
},
{
"start": "468931",
"size": 0.019857808,
"ndv": 81
},
{
"start": "517785",
"size": 0.019857808,
"ndv": 77
},
{
"start": "593321",
"size": 0.019857808,
"ndv": 81
},
{
"start": "703324",
"size": 0.019857808,
"ndv": 79
},
{
"start": "877239",
"size": 0.019857808,
"ndv": 79
},
{
"start": "1157507",
"size": 0.019857808,
"ndv": 79
},
{
"start": "1704735",
"size": 0.019857808,
"ndv": 81
},
{
"start": "4336000",
"end": "10500000",
"size": 0.007109586,
"ndv": 29
}
]
}
Country ABW ZWE 52 JSON_HB {
"histogram_hb_v2": [
{
"start": "ABW",
"size": 0.019308943,
"ndv": 4
},
{
"start": "ALB",
"size": 0.019308943,
"ndv": 7
},
{
"start": "ASM",
"size": 0.019308943,
"ndv": 4
},
{
"start": "AZE",
"size": 0.019308943,
"ndv": 4
},
{
"start": "BEN",
"size": 0.019308943,
"ndv": 5
},
{
"start": "BHR",
"size": 0.019308943,
"ndv": 8
},
{
"start": "BRA",
"size": 0.019308943,
"ndv": 6
},
{
"start": "CAF",
"size": 0.019308943,
"ndv": 4
},
{
"start": "CHE",
"size": 0.019308943,
"ndv": 3
},
{
"start": "CIV",
"size": 0.019308943,
"ndv": 3
},
{
"start": "COD",
"size": 0.019308943,
"ndv": 5
},
{
"start": "COM",
"size": 0.019308943,
"ndv": 8
},
{
"start": "CZE",
"size": 0.019308943,
"ndv": 5
},
{
"start": "DNK",
"size": 0.019308943,
"ndv": 8
},
{
"start": "ESP",
"size": 0.019308943,
"ndv": 4
},
{
"start": "FIN",
"size": 0.019308943,
"ndv": 7
},
{
"start": "GAB",
"size": 0.019308943,
"ndv": 5
},
{
"start": "GIB",
"size": 0.019308943,
"ndv": 5
},
{
"start": "GNB",
"size": 0.019308943,
"ndv": 8
},
{
"start": "GUM",
"size": 0.019308943,
"ndv": 7
},
{
"start": "HUN",
"size": 0.019308943,
"ndv": 3
},
{
"start": "IND",
"size": 0.019308943,
"ndv": 3
},
{
"start": "IRQ",
"size": 0.019308943,
"ndv": 5
},
{
"start": "JAM",
"size": 0.019308943,
"ndv": 5
},
{
"start": "KEN",
"size": 0.019308943,
"ndv": 4
},
{
"start": "KIR",
"size": 0.019308943,
"ndv": 7
},
{
"start": "LBR",
"size": 0.019308943,
"ndv": 7
},
{
"start": "LTU",
"size": 0.019308943,
"ndv": 5
},
{
"start": "MCO",
"size": 0.019308943,
"ndv": 5
},
{
"start": "MHL",
"size": 0.019308943,
"ndv": 5
},
{
"start": "MMR",
"size": 0.019308943,
"ndv": 4
},
{
"start": "MOZ",
"size": 0.019308943,
"ndv": 5
},
{
"start": "MUS",
"size": 0.019308943,
"ndv": 5
},
{
"start": "NAM",
"size": 0.019308943,
"ndv": 5
},
{
"start": "NGA",
"size": 0.019308943,
"ndv": 5
},
{
"start": "NOR",
"size": 0.019308943,
"ndv": 6
},
{
"start": "PAK",
"size": 0.019308943,
"ndv": 5
},
{
"start": "PHL",
"size": 0.019308943,
"ndv": 5
},
{
"start": "PRK",
"size": 0.019308943,
"ndv": 7
},
{
"start": "ROM",
"size": 0.019308943,
"ndv": 3
},
{
"start": "RWA",
"size": 0.019308943,
"ndv": 5
},
{
"start": "SGP",
"size": 0.019308943,
"ndv": 7
},
{
"start": "SOM",
"size": 0.019308943,
"ndv": 7
},
{
"start": "SWE",
"size": 0.019308943,
"ndv": 7
},
{
"start": "TGO",
"size": 0.019308943,
"ndv": 5
},
{
"start": "TKM",
"size": 0.019308943,
"ndv": 7
},
{
"start": "TWN",
"size": 0.019308943,
"ndv": 3
},
{
"start": "UGA",
"size": 0.019308943,
"ndv": 5
},
{
"start": "USA",
"size": 0.019308943,
"ndv": 4
},
{
"start": "VEN",
"size": 0.019308943,
"ndv": 5
},
{
"start": "WLF",
"size": 0.019308943,
"ndv": 5
},
{
"start": "ZAF",
"end": "ZWE",
"size": 0.015243902,
"ndv": 3
}
]
}
Language Abhyasi [South]Mande 51 JSON_HB {
"histogram_hb_v2": [
{
"start": "Abhyasi",
"size": 0.019308943,
"ndv": 11
},
{
"start": "Amhara",
"size": 0.019308943,
"ndv": 4
},
{
"start": "Arabic",
"size": 0.019308943,
"ndv": 3
},
{
"start": "Araucan",
"size": 0.019308943,
"ndv": 9
},
{
"start": "Bajan",
"size": 0.019308943,
"ndv": 16
},
{
"start": "Belorussian",
"size": 0.019308943,
"ndv": 9
},
{
"start": "Brahui",
"size": 0.019308943,
"ndv": 14
},
{
"start": "Catalan",
"size": 0.019308943,
"ndv": 12
},
{
"start": "Chinese",
"size": 0.019308943,
"ndv": 5
},
{
"start": "Circassian",
"size": 0.019308943,
"ndv": 7
},
{
"start": "Creole English",
"size": 0.019308943,
"ndv": 7
},
{
"start": "Danish",
"size": 0.019308943,
"ndv": 11
},
{
"start": "Dyula",
"size": 0.004065041,
"ndv": 4
},
{
"start": "English",
"size": 0.06097561,
"ndv": 1
},
{
"start": "Eskimo Languages",
"size": 0.014227642,
"ndv": 8
},
{
"start": "French",
"size": 0.025406504,
"ndv": 1
},
{
"start": "Fries",
"size": 0.019308943,
"ndv": 8
},
{
"start": "Gagauzi",
"size": 0.019308943,
"ndv": 8
},
{
"start": "German",
"size": 0.019308943,
"ndv": 9
},
{
"start": "Greek",
"size": 0.019308943,
"ndv": 15
},
{
"start": "Hausa",
"size": 0.019308943,
"ndv": 10
},
{
"start": "Hungarian",
"size": 0.019308943,
"ndv": 10
},
{
"start": "Italian",
"size": 0.019308943,
"ndv": 4
},
{
"start": "Joruba",
"size": 0.019308943,
"ndv": 13
},
{
"start": "Kazakh",
"size": 0.019308943,
"ndv": 13
},
{
"start": "Kongo",
"size": 0.019308943,
"ndv": 9
},
{
"start": "Kurdish",
"size": 0.019308943,
"ndv": 15
},
{
"start": "Luchazi",
"size": 0.019308943,
"ndv": 16
},
{
"start": "Makua",
"size": 0.019308943,
"ndv": 7
},
{
"start": "Malinke",
"size": 0.019308943,
"ndv": 15
},
{
"start": "Marma",
"size": 0.019308943,
"ndv": 17
},
{
"start": "Miskito",
"size": 0.019308943,
"ndv": 17
},
{
"start": "Naudemba",
"size": 0.019308943,
"ndv": 13
},
{
"start": "Nubian Languages",
"size": 0.019308943,
"ndv": 17
},
{
"start": "Palau",
"size": 0.019308943,
"ndv": 12
},
{
"start": "Polish",
"size": 0.019308943,
"ndv": 3
},
{
"start": "Portuguese",
"size": 0.019308943,
"ndv": 9
},
{
"start": "Romani",
"size": 0.019308943,
"ndv": 6
},
{
"start": "Russian",
"size": 0.019308943,
"ndv": 7
},
{
"start": "Sango",
"size": 0.019308943,
"ndv": 10
},
{
"start": "Shambala",
"size": 0.019308943,
"ndv": 11
},
{
"start": "Somali",
"size": 0.015243902,
"ndv": 9
},
{
"start": "Spanish",
"size": 0.028455285,
"ndv": 1
},
{
"start": "Sranantonga",
"size": 0.019308943,
"ndv": 11
},
{
"start": "Tamashek",
"size": 0.019308943,
"ndv": 9
},
{
"start": "Thai",
"size": 0.019308943,
"ndv": 14
},
{
"start": "Tswana",
"size": 0.019308943,
"ndv": 6
},
{
"start": "Turkmenian",
"size": 0.019308943,
"ndv": 6
},
{
"start": "Ukrainian and Russian",
"size": 0.019308943,
"ndv": 9
},
{
"start": "Watyi",
"size": 0.019308943,
"ndv": 14
},
{
"start": "Zulu",
"end": "[South]Mande",
"size": 0.00203252,
"ndv": 2
}
]
}
Percentage 0.0 99.9 49 JSON_HB {
"histogram_hb_v2": [
{
"start": "0.0",
"size": 0.066056911,
"ndv": 1
},
{
"start": "0.1",
"size": 0.020325203,
"ndv": 1
},
{
"start": "0.2",
"size": 0.022357724,
"ndv": 1
},
{
"start": "0.3",
"size": 0.017276423,
"ndv": 1
},
{
"start": "0.4",
"size": 0.025406504,
"ndv": 1
},
{
"start": "0.5",
"size": 0.020325203,
"ndv": 1
},
{
"start": "0.6",
"size": 0.020325203,
"ndv": 1
},
{
"start": "0.7",
"size": 0.019308943,
"ndv": 2
},
{
"start": "0.8",
"size": 0.019308943,
"ndv": 3
},
{
"start": "1.0",
"size": 0.019308943,
"ndv": 3
},
{
"start": "1.3",
"size": 0.019308943,
"ndv": 2
},
{
"start": "1.4",
"size": 0.019308943,
"ndv": 3
},
{
"start": "1.6",
"size": 0.019308943,
"ndv": 2
},
{
"start": "1.8",
"size": 0.019308943,
"ndv": 3
},
{
"start": "2.0",
"size": 0.019308943,
"ndv": 3
},
{
"start": "2.3",
"size": 0.019308943,
"ndv": 2
},
{
"start": "2.5",
"size": 0.019308943,
"ndv": 3
},
{
"start": "2.8",
"size": 0.019308943,
"ndv": 4
},
{
"start": "3.1",
"size": 0.019308943,
"ndv": 4
},
{
"start": "3.4",
"size": 0.019308943,
"ndv": 5
},
{
"start": "3.8",
"size": 0.019308943,
"ndv": 5
},
{
"start": "4.2",
"size": 0.019308943,
"ndv": 7
},
{
"start": "4.8",
"size": 0.019308943,
"ndv": 6
},
{
"start": "5.3",
"size": 0.019308943,
"ndv": 5
},
{
"start": "5.7",
"size": 0.019308943,
"ndv": 7
},
{
"start": "6.4",
"size": 0.019308943,
"ndv": 6
},
{
"start": "7.0",
"size": 0.019308943,
"ndv": 6
},
{
"start": "7.6",
"size": 0.019308943,
"ndv": 6
},
{
"start": "8.1",
"size": 0.019308943,
"ndv": 7
},
{
"start": "8.9",
"size": 0.019308943,
"ndv": 8
},
{
"start": "9.6",
"size": 0.019308943,
"ndv": 10
},
{
"start": "10.9",
"size": 0.019308943,
"ndv": 13
},
{
"start": "12.1",
"size": 0.019308943,
"ndv": 14
},
{
"start": "13.8",
"size": 0.019308943,
"ndv": 13
},
{
"start": "16.1",
"size": 0.019308943,
"ndv": 13
},
{
"start": "18.4",
"size": 0.019308943,
"ndv": 14
},
{
"start": "21.6",
"size": 0.019308943,
"ndv": 14
},
{
"start": "28.3",
"size": 0.019308943,
"ndv": 16
},
{
"start": "33.0",
"size": 0.019308943,
"ndv": 16
},
{
"start": "41.6",
"size": 0.019308943,
"ndv": 18
},
{
"start": "50.2",
"size": 0.019308943,
"ndv": 16
},
{
"start": "59.7",
"size": 0.019308943,
"ndv": 18
},
{
"start": "70.6",
"size": 0.019308943,
"ndv": 16
},
{
"start": "80.0",
"size": 0.019308943,
"ndv": 14
},
{
"start": "86.8",
"size": 0.019308943,
"ndv": 17
},
{
"start": "91.3",
"size": 0.019308943,
"ndv": 15
},
{
"start": "95.6",
"size": 0.019308943,
"ndv": 13
},
{
"start": "97.6",
"size": 0.019308943,
"ndv": 13
},
{
"start": "99.6",
"end": "99.9",
"size": 0.016260163,
"ndv": 2
}
]
}
analyze select * from Country use index () where Code between 'BBC' and 'GGG';
id select_type table type possible_keys key key_len ref rows r_rows filtered r_filtered Extra
1 SIMPLE Country ALL NULL NULL NULL NULL 239 239.00 25.10 25.52 Using where
analyze select * from Country use index () where Code < 'BBC';
id select_type table type possible_keys key key_len ref rows r_rows filtered r_filtered Extra
1 SIMPLE Country ALL NULL NULL NULL NULL 239 239.00 8.37 7.11 Using where
set histogram_type=@save_histogram_type;
set histogram_size=@save_histogram_size;
DROP SCHEMA world;
use test;
create table t10 (
a varchar(10)
);
#
# Histograms are not collected for empty tables:
#
analyze table t10 persistent for all;
Table Op Msg_type Msg_text
test.t10 analyze status Engine-independent statistics collected
test.t10 analyze status Table is already up to date
select histogram
from mysql.column_stats where table_name='t10' and db_name=database();
histogram
NULL
#
# Try with n_buckets > n_rows
#
insert into t10 values ('Berlin'),('Paris'),('Rome');
set histogram_size=10, histogram_type='json_hb';
analyze table t10 persistent for all;
Table Op Msg_type Msg_text
test.t10 analyze status Engine-independent statistics collected
test.t10 analyze status OK
select histogram
from mysql.column_stats where table_name='t10' and db_name=database();
histogram
{
"histogram_hb_v2": [
{
"start": "Berlin",
"size": 0.333333333,
"ndv": 1
},
{
"start": "Paris",
"size": 0.333333333,
"ndv": 1
},
{
"start": "Rome",
"end": "Rome",
"size": 0.333333333,
"ndv": 1
}
]
}
drop table t10;
#
# MDEV-26590: Stack smashing/buffer overflow in Histogram_json_hb::parse upon UPDATE on table with long VARCHAR
#
CREATE TABLE t1 (b INT, a VARCHAR(3176));
INSERT INTO t1 VALUES (1,'foo'),(2,'bar');
SET histogram_type= JSON_HB;
ANALYZE TABLE t1 PERSISTENT FOR ALL;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
SELECT * FROM t1;
b a
1 foo
2 bar
drop table t1;
#
# MDEV-26711: Values in JSON histograms are not properly quoted
#
create table t1 (a varchar(32));
insert into t1 values ('this is "quoted" text');
set histogram_type= JSON_HB;
analyze table t1 persistent for all;
Table Op Msg_type Msg_text
test.t1 analyze status Engine-independent statistics collected
test.t1 analyze status OK
select * from t1 where a = 'foo';
a
drop table t1;
#
# MDEV-26724 Endless loop in json_escape_to_string upon ... empty string
#
CREATE TABLE t1 (f VARCHAR(8));
INSERT INTO t1 VALUES ('a'),(''),('b');
SET histogram_type=JSON_HB;
ANALYZE TABLE t PERSISTENT FOR ALL;
Table Op Msg_type Msg_text
test.t analyze Error Table 'test.t' doesn't exist
test.t analyze status Operation failed
select * from t1;
f
a
b
drop table t1;