Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 好的复制策略;滑动窗;从表中获取数据的数量?_Sql_Mysql_Performance_Database_Indexing - Fatal编程技术网

Sql 好的复制策略;滑动窗;从表中获取数据的数量?

Sql 好的复制策略;滑动窗;从表中获取数据的数量?,sql,mysql,performance,database,indexing,Sql,Mysql,Performance,Database,Indexing,我有一个来自第三方应用程序的MySQL表,它有数百万行,只有一个索引——每个条目的时间戳。现在,我想使用时间戳以外的字段对数据进行一些重自连接和查询。在原始表上执行查询会使数据库陷入爬网,向表中添加索引不是一个选项。此外,我只需要比一周新的条目 我目前有效执行查询的策略是使用一个单独的表(aux_表),该表具有必要的索引。我的问题是:是否有其他方法进行查询?如果没有,如何有效地更新索引表中的数据? 到目前为止,我发现了两种更新aux_表的方法: 截断aux_表并从原始表中插入所需数据。不是很有效

我有一个来自第三方应用程序的MySQL表,它有数百万行,只有一个索引——每个条目的时间戳。现在,我想使用时间戳以外的字段对数据进行一些重自连接和查询。在原始表上执行查询会使数据库陷入爬网,向表中添加索引不是一个选项。此外,我只需要比一周新的条目

我目前有效执行查询的策略是使用一个单独的表(aux_表),该表具有必要的索引。我的问题是:是否有其他方法进行查询?如果没有,如何有效地更新索引表中的数据?

到目前为止,我发现了两种更新aux_表的方法:

  • 截断aux_表并从原始表中插入所需数据。不是很有效,因为所有索引都必须重新装箱
  • 检查aux_表中的最大时间戳,并插入原始表中时间戳大于或等于的所有条目。偶尔删除旧条目。只有复制具有更大时间戳的条目才会导致删除条目(因为具有相同时间戳的条目在上次更新后插入到原始表中)
  • 可能:

    将触发器添加到大表中,以自动插入到小表中

    然后,您可以在任何时候将小表格修剪到适当的时间范围。

    可能:

    将触发器添加到大表中,以自动插入到小表中

    然后,您可以在任意点将小表修剪到适当的时间范围