我会尽我所能地将它一般化,这样它就可以重用了。

我正在运行一个具有相当大的MySQL数据库的站点,该数据库已经增长到需要初始化一些汇总/汇总表。为了这个例子,我们假设它是足球统计数据。因为我在同一个数据库中处理多个足球联赛,所以他们中的许多人都玩不同长度的比赛——例如,室内足球联赛玩四个四分之一的比赛,而大多数室外联赛玩半个。

我有三张对这个练习很重要的桌子。我已经修改了所有我认为对我正在寻找的答案不重要的领域。

GAME

`game`.id

`game`.home_team_id

`game`.away_team_id

`game`.number_of_periods

GOAL

// Records for each goal scored in the game

`goal`.id

`goal`.game_id

`goal`.team_id

`goal`.period_number

`goal`.player_id

`goal`.assist_player_id

PERIOD_SUMMARY

`period`.id

`period`.game_id

`period`.team_id

`period`.number

`period`.goals_scored

最后,我应该在时段汇总表中记录下每个时段的比赛记录,不管是否有进球。此表只需要初始化一次,因为通过游戏创建时的触发器添加适当的零填充记录和触发插入/更新请求来更新period_摘要表非常容易。

对我来说,将所有目标分组并用sum()初始化周期汇总表也相当容易,因为我很难找到一种有效的方法来“填充”没有目标得分为0的任何周期。

我想知道的是,是否更容易/更有效地:

编写触发器并用0填充的值预先填充整个期间摘要表,然后运行我已经知道的查询以更新目标计分期间的相应记录。

使用其他方法(可能是临时存储过程?)如果目标表中没有匹配项,则只填充0条记录。

mysql load 占位符,mysql:用不存在的数据的占位符初始化摘要表相关推荐

  1. MySQL load data 快速导入大批量数据

    load data 简介 MySQL load data 语句能快速将一个文本文件的内容导入到对应的数据库表中(一般文本的一行对应表的一条记录). 数据库应用程序开发中,涉及大批量数据需要插入时,使用 ...

  2. mysql 优化_常用MySQL优化

    1.大批量插入数据优化 (1)对于MyISAM存储引擎的表,可以使用:DISABLE KEYS 和 ENABLE KEYS 用来打开或者关闭 MyISAM 表非唯一索引的更新. ALTER TABLE ...

  3. 操作系统学习(五) 、代码段和数据段描述符

    一.代码段和数据段描述符格式 段描述符通用格式如下所示: 代码段和数据段描述符中各个位的含义如下所示: 二.代码段和数据段描述符类型 当段描述符中S标志位(描述符类型)被置位,则该描述符用于代码段或数 ...

  4. mysql查看导入进度_查看MySQL LOAD DATA进度

    概述 开发过程中经常会使用MySQL的LOAD DATA功能,用于导入文件到MySQL的指定数据库表中. 若已经将文件切分为N个小文件再进行LOAD操作(例如使用Linux下的 split 工具),那 ...

  5. mysql load报错_mysql:执行LOAD DATA LOCAL 报错

    mysql:执行LOAD DATA LOCAL 报错. 我使用navicat for mysql 连接 mysql服务器执行local 可以正常执行 . show VARIABLES like  '% ...

  6. 警告: Could not load driverClass com.mysql.cj.jdbc.Driver

    警告: Could not load driverClass com.mysql.cj.jdbc.Driver 解决办法:检查每个配置值最后是否有空格,把鼠标放在配置值最后,如果前面有空格,去掉即可. ...

  7. c3p0数据源配置抛出Could not load driverClass com.mysql.jdbc.Driver的解决方案

    c3p0数据源配置抛出Could not load driverClass com.mysql.jdbc.Driver的解决方案 参考文章: (1)c3p0数据源配置抛出Could not load ...

  8. mysql load xml_MySQL的SQL语句 - 数据操作语句(10)- LOAD XML 语句

    LOAD XML 语句 1. LOAD XML 2. [LOW_PRIORITY | CONCURRENT] [LOCAL] 3. INFILE 'file_name' 4. [REPLACE | I ...

  9. java mysql 文本导入数据语句_Java利用MYSQL LOAD DATA LOCAL INFILE实现大批量导入数据到MySQL...

    Mysql load data的使用 数据库中,最常见的写入数据方式是通过SQL INSERT来写入,另外就是通过备份文件恢复数据库,这种备份文件在MySQL中是SQL脚本,实际上执行的还是在批量IN ...

最新文章

  1. [coursera machine learning] Week 1
  2. mysql 一周一月_mysql查询当天、本周,本月,上一个月的数据
  3. iOS imageNamed 的缓存问题
  4. 佳铁怎样传输程序_阿里资深开发工程师合著《Java开发手册》,影响250万程序员附pdf...
  5. [置顶] 总结工作中常用到的linux命令
  6. ANSYS——固定斜度的变截面变截面的定义、自由耦合和变截面的定义
  7. 【系统知识点】linux入门基础命令
  8. React Native使用指南-原生模块
  9. 通过对象指针的方式强行指定到子类_C++中的虚指针与虚函数表
  10. (转)Redis研究(一)—简介
  11. android listview自动加载更多,如何实现 Android ListView『上拉加载更多』?
  12. Android 屏幕适配资料汇总
  13. the system requirements are not satisied或Android Studio不支持HAXM
  14. android 全局dns解析,Android中DNS解析
  15. 佛系 vue -01
  16. python断言使用方法
  17. zblog添加html标题出错,ZBLOG模板修改的一些技巧小结
  18. windows装oracle数据库,在 Windows 上安装 Oracle 数据库 11g
  19. 项目遇到的难点、印象深刻点总结
  20. 土木工程材料——混凝土

热门文章

  1. 单击跳转_如何在100张工作表中快速实现查找和跳转
  2. bzoj1304 [CQOI2009]叶子的染色 dfs+树形dp
  3. Intel 64/x86_64/IA-32/x86处理器基本执行环境 (1) - 32位执行环境概述
  4. Intel Core Enhanced Core架构/微架构/流水线 (1) - 特性概述
  5. c语言字 字符串转换成数组_C语言学习教程之详解C语言中的字符串数组
  6. 理解类级别的访问控制权限——类的成员函数可以访问该类所有对象的私有成员
  7. 在VS2005下搭建和使用CppUnit
  8. SPH(光滑粒子流体动力学)流体模拟实现:算法总览
  9. Google宣布支持Vulkan作为Android的底层图形API
  10. 《GPUPro》笔记