我正在尝试查找没有指定列名的表:
select t.table_name
from information_schema.tables as t
left join information_schema.columns as c
on t.table_name=c.table_name
and c.column_name='some_name'
where c.column_name is null
这是非常非常缓慢的。有什么办法可以改善吗?
我正在尝试查找没有指定列名的表:
select t.table_name
from information_schema.tables as t
left join information_schema.columns as c
on t.table_name=c.table_name
and c.column_name='some_name'
where c.column_name is null
这是非常非常缓慢的。有什么办法可以改善吗?
如果您使用 InnoDB 表,请将全局变量:innodb_stats_on_metadata 设置为 0。默认情况下,InnoDB 引擎将在访问其表的模式信息时更新统计信息。
您可以尝试使用 EXISTS:
SELECT t.table_name
FROM information_schema.table as t
WHERE NOT EXISTS (SELECT 1 FROM information_schema.columns c
WHERE c.table_name = t.table_name)