显示表格或INFORMATION_SCHEMA

jsi*_*ist 5 mysql

我需要在所有数据库中获取服务器上所有表的列表.

我发现了两种方法.

1).执行SHOW FULL TABLES from <each database name> WHERE table_type = 'BASE TABLE';

2).执行SELECT table_name, table_schema FROM information_schema.tables WHERE TABLE_TYPE = "BASE TABLE";

问题:

1).上面提到的还有其他方法可以表现得更好吗?

2).执行上述两种方法有什么性能差异吗?

3).以上两种方法中的哪一种更好地执行?

Stu*_*tLC 1

如果可能的话,我会使用information_schema. 它是ANSI 标准,但是,访问 MySql 的专有功能有时可能需要使用 SHOW* 函数。所以我想这取决于你的具体情况。