问题复现
select * from information_schema.view_table_usage;
检查权限
查询库下表信息,放入在内存中,一直循环,直到内存溢出
创建测试数据
#!/bin/bash
password=rootroot
sock=/mysql/data/3306/mysql.sock
read -p '请输入想要创建的数据库的个数:' dbs
read -p '请输入每个数据库下要创建的表的个数:' tbs
read -p '请输入每个数据库下要创建的视图的个数:' vws
for i in `seq 1 $dbs`
do
mysql -uroot -p$password --socket=$sock -se "create database testdb$i;"
for j in `seq 1 $tbs`
do
mysql -uroot -p$password --socket=$sock -se "create table testdb$i.test_t$j(id int,col1 varchar(100));"
for k in `seq 1 $vws`
do
mysql -uroot -p$password -D testdb$i --socket=$sock -se "create view test_v$k as select * from test_t1;"
done
done
done
相关SQL
10
20
10
select * from information_schema.tables where regexp_like(TABLE_SCHEMA,'testdb') and TABLE_TYPE='VIEW';
select * from information_schema.VIEW_TABLE_USAGE where table_name = 'test_t1';
drop database testdb1;
drop database testdb2;
drop database testdb3;
drop database testdb4;
drop database testdb5;
drop database testdb6;
drop database testdb7;
drop database testdb8;
drop database testdb9;
drop database testdb10;
drop database testdb11;
drop database testdb12;
drop database testdb13;
drop database testdb14;
drop database testdb15;
drop database testdb16;
drop database testdb17;
drop database testdb18;
drop database testdb19;
drop database testdb20;