我的数据库包含大量表(超过300个表)。当我在mysql命令行客户端上执行“use database name”命令时,它需要很长时间才能执行。有什么方法可以让它更快地执行。 ?
答案 0 :(得分:8)
您可以将-A
参数传递给mysql
命令行工具,以便在使用数据库时不加载数据库元数据。
话虽如此,您所描述的内容通常表示您有太多的表和/或列,或者您的数据库服务器已超载。通常,它都是。任何一个都应该修复。
答案 1 :(得分:1)
我知道它非常古老的帖子,但想到写这篇文章,因为我过去也有同样的问题,发现这一切
在远程连接mysql时使用cli时会遇到此问题,这个问题通常不会发生在localhost上。在使用"使用"命令mysql检查表的元数据并加载它,它在远程连接到mysql cli时确认主机和凭证,可能会减慢选择DB,你可以跳过dns解析但我不认为这将完全解决问题
因此 " -A" 标签/属性必须在远程连接时使用mysql命令传递,这将在使用&#选择数据库时不加载元数据34;使用"命令。
举个例子: -
mysql -A -h HOST -u USER -p