我的数据库包含大量表(超过 300 个表)。当我在 mysql 命令行客户端上执行“使用数据库名称”命令时,它需要很长时间才能执行。有什么办法可以让它执行得更快。?
问问题
4642 次
2 回答
11
您可以将-A
参数传递给mysql
命令行工具,使其在使用数据库时不加载数据库元数据。
话虽如此,您所描述的通常表明您的表和/或列太多,或者您的数据库服务器过载。通常,两者兼而有之。任何一个都应该修复。
于 2012-04-05T00:24:30.737 回答
2
我知道它很老的帖子,但想写这篇文章,因为我过去也遇到过同样的问题,发现这一切
在远程连接 mysql 时使用 cli 时会遇到此问题,此问题通常不会在 localhost 上发生。在使用“使用”命令 mysql 检查表的元数据并加载它时,它会在远程连接到 mysql cli 时确认主机和凭据,并且可能会减慢选择 DB,您可以跳过 dns 解析,但我认为不会彻底解决问题
因此, “-A”标签/属性必须在远程连接时通过 mysql 命令传递,这在使用“USE”命令选择 DB 时不会加载元数据。
例如:-
mysql -A -h 主机 -u 用户 -p
于 2018-03-22T16:23:00.533 回答