小编Ric*_*ham的帖子

MySQL/InnoDB 在处理外部表时是否使用表缓存?

TL;DR:通过schema.table表缓存引用的表是否保留?

我有大量客户端数据库,我们的应用程序基于 http 请求连接到这些数据库。这些用于应用程序的每个部分,除了访问日志记录。我们使用第二个中央模式来记录跨应用程序所有实例的登录尝试。

但是,登录表是通过与本地模式的连接作为外部表访问的。例如:

 UPDATE central_schema.login SET column = 'value';
Run Code Online (Sandbox Code Playgroud)

而不是直接使用第二个连接到中央模式并仅login作为本地表处理:

UPDATE login SET column = 'value';
Run Code Online (Sandbox Code Playgroud)

或者切换模式:

USE central_schema;
UPDATE login SET column = 'value';
USE client_schema;
Run Code Online (Sandbox Code Playgroud)

鉴于在繁忙时期,我看到很多简单的更新或选择查询等待表关闭,当引用跨模式时,MySQL 是否可能不缓存表?是否有可能因为它连接到client_schema,它想要使用客户端架构缓存,因此无法正确缓存外部表?

而且,如果我不能得到一个明确的答案,我将如何开始测试缓存中的内容和不包含的内容?

mysql cache

7
推荐指数
1
解决办法
101
查看次数

未来的时间应该存储在 UTC 还是本地时间?

显然,在大多数情况下,时间应该以 UTC 格式存储。在所有情况下,记录过去事件的日期时间都应以 UTC 格式存储。我们这样做是因为民间时间不断变化,而事件发生的时刻与当地政府认为的时间无关。

但是,当时间与日期分离时,当它们指的是挂钟时间时,我认为它们应该存储在挂钟时间中。

假设我有一个系统必须在特定时区的下午 3 点执行事件,我认为我最好将时间存储为下午 3 点。当事件重复发生并且应该总是在下午 3 点发生时更是如此——无论夏令时是否生效。如果它应该在本地下午 3 点对不同时区的多个用户发生,那么在 UTC 中存储任何内容似乎很愚蠢。

对我来说,这感觉很明显。但是我正在寻找可以支持我的可信赖来源的标准、规范或至少是博客文章。

database-design datetime

5
推荐指数
1
解决办法
1410
查看次数

标签 统计

cache ×1

database-design ×1

datetime ×1

mysql ×1