gpt4 book ai didi

java - 哪个更好? - 在 MySQL 中使用 DATABASE 与 DATABASE.TABLE_NAME

转载 作者:搜寻专家 更新时间:2023-10-30 20:09:24 24 4
gpt4 key购买 nike

我在多共享数据库环境 (MySQL) 中工作,我需要经常在多个数据库之间切换。

假设我的主数据库是 MainDB

还有每个用户的共享数据库说 ShardDB1, ShardDB2 ...

因为我使用的是 JAVA 连接池,所以我必须在执行每个查询时获取要执行的连接,并在执行完后立即将其释放到池中。

我尝试了以下方法,但没有发现任何性能差异或任何问题。

  1. 每次我想使用 SharedDB 时,我都会像 USE ShardDB1; 那样切换到 SharedDB,然后在再次执行查询后像 USE MainDB; 那样切换回 MainDB >

  2. 像这样编写查询 "Select * from "+ ShardDB1 +".TABLE_NAME where ....";

第二种方法更容易 我在代码中使用。但是在将其投入生产之前,我想知道使用第二种方法是否存在任何问题(尤其是性能)。我用谷歌搜索,但找不到任何东西。请阐明这一点。

最佳答案

性能没有真正的区别。在第一种情况下,服务器编辑请求,添加前缀本身。在第二个中,前缀是一个 java 变量。如果有差异,则约为 0.1 毫秒或更短。

USE DATABASE 语句是开发人员编写请求的快捷方式。在多个数据库上工作时,最好不要使用此语句,而应在表前加上数据库名称。然后,如果您忘记在请求中指定名称,您就不会冒更改错误数据库的风险。

关于java - 哪个更好? - 在 MySQL 中使用 DATABASE 与 DATABASE.TABLE_NAME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27541817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com