小编Bri*_*ach的帖子

运行 MySQL 查询的磁盘空间不足

我一直在尝试在 MySQL 中创建一个“间隙和岛屿”识别例程。请参阅上一个有关此处设置和此处所需计算资源的问题

我将数据库服务器的 RAM 增加到 4 Gb。查询运行正常,但现在我遇到了一个问题,即数据库服务器在运行查询时磁盘空间不足。

该查询查看整个数据库并将它找到的岛插入到名为 的表中shutdown_events。我使用INSERT IGNORE并查看整个数据库,这样我就不会切断跨越某种时间戳约束的岛屿(我尝试添加它,继续阅读......)。

我使用以下 SQL 创建了视图(dr.*_sd要包含~30 个值)

create view sd_pivot as
  select dr.wellsite_id, 'EngOilP_sd' as sd, dr.timestamp, dr.EngOilP_sd as val from datarecords dr
  union all
  select dr.wellsite_id, 'Stg1ScrbLVL_sd', dr.timestamp, dr.Stg1ScrbLVL_sd from datarecords dr
  union all
  select dr.wellsite_id, 'Stg2ScrbLVL_sd', dr.timestamp, dr.Stg2ScrbLVL_sd from datarecords dr
  union all
...
Run Code Online (Sandbox Code Playgroud)

然后填充shutdownevents表的 SQL在这里:

INSERT IGNORE INTO shutdownevents (wellsite_id, sd_name, start, end)
SELECT t.* …
Run Code Online (Sandbox Code Playgroud)

mysql optimization view disk-space gaps-and-islands

6
推荐指数
1
解决办法
1882
查看次数

确定差距和孤岛

我有一个具有以下结构的数据库

+---------------------+------------+---------------+
| timestamp           | EngOilP_sd | CompOilLVL_sd |
+---------------------+------------+---------------+
| 2015-06-24 20:28:07 |          0 |             0 |
| 2015-06-24 20:30:20 |          1 |             0 |
| 2015-06-24 20:36:47 |          1 |             0 |
| 2015-06-24 20:41:11 |          1 |             0 |
| 2015-06-24 20:43:29 |          1 |             0 |
| 2015-06-24 20:45:42 |          0 |             0 |
| 2015-06-24 20:47:51 |          0 |             0 |
| 2015-06-24 20:49:59 |          0 |             1 |
| 2015-06-24 20:52:01 |          0 | …
Run Code Online (Sandbox Code Playgroud)

mysql gaps-and-islands

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

标签 统计

gaps-and-islands ×2

mysql ×2

disk-space ×1

optimization ×1

view ×1