sql - MySQL效率问题

标签 sql mysql

我有下表

事件:

EVENT_ID EVENT_OWNER_ID EVENT_NAME EVENT_DATE EVENT_PRIVATE EVENT_ACTIVE

除 EVENT_NAME 之外的所有字段都是 date、int 或 bit。

在 EVENT_ID 和 EVENT_NAME 之间匹配另一个表是否更有效?当我需要时,我将只使用 JOIN 来查看事件名称?还是 JOIN 的效率低于我目前拥有的一张带有 EVENT_NAME 的表?

最佳答案

两个表在所有方面的效率都较低,除非您跟踪使用相同名称的重复事件(规范化示例)。该技术可以节省的唯一资源是非常少量的磁盘空间。就查询效率而言,一张表总是更高效。

基本上,如果两条数据之间存在一对一的关系(在本例中为 Event_Name 和事件数据的其余部分),您将希望该数据位于同一个表中。

如果您想了解更多信息,Google 规范化与反规范化。

关于sql - MySQL效率问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4067573/

相关文章:

sql - 动态 sql 与存储过程 - 优缺点?

mysql - sql没有给出结果,因为空左连接

sql - 从 tbl_dbi 中提取 SQL 作为字符串的首选方法是什么?

MySQL 对带有Where、GroupBy 和OrderBy 子句的查询建立索引

php - MySQL性能: DATE vs TINYINT

sql - MySQL:比较两个表之间的差异

mysql - 创建函数时出现语法错误

sql - bigquery 交叉查询最佳实践

sql - 寻找更小规模的类似 Hadoop 的解决方案

mysql - 如果变量中不存在则删除行