繁体   English   中英

在mysql中创建临时表以查询主表何时更新

[英]Creating a temp table in mysql for querying when the main table is getting updated

我在mysql中创建了一个巨大的表

table1

我将不断查询此表的结果

每周一次,我将刷新表1中的值并插入新值。

(此过程需要3个小时的时间。)

所以我的问题是我的查询将停止3个小时(在生成新table1的同时),并且我的查询应该是连续的。

我正在考虑创建一个喜欢的桌子

create like table temp_table1 from table1

直到填充新table1的时间,我将使用temp_table1进行查询。 但是为此,我还想设置一个自动触发器以在表之间进行更改。

有没有更好的方法来实现这一目标?

还要为一个巨大的表创建像表一样需要很多时间?

你实际上可以用其他方式做...

  1. 创建与表1相同的表temp_table1

  2. 在temp_table1而不是table1中进行处理

  3. 处理完成后,使用insert into .. select from的数据将数据插入到主表中insert into .. select from

这样,您的主表可以自由查询,不会被阻塞。 最终插入可能足够快,具体取决于select性能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM