我正在寻找一些关于在数据库表上执行大量处理/数据挖掘的最佳方法的一般建议,而不影响表上常规站点查询的性能。一些计算可能涉及连接多个表,并涉及复杂的排序和排序。因此“使用更好的索引”并不总是解决方案。
这个问题并不具体。我正在寻找一种通用方法来解决多年来多次出现的问题。所以我没有要显示的特定表架构,也没有要显示的特定查询。我考虑过首先使用 mysqldump 转储该表,然后以不同的名称重新导入该表,然后对该临时表执行繁重的处理。我的系统管理员讨厌这个想法,所以我正在寻找人们提出的任何其他解决方案来处理此类问题。
最佳答案
如果您的“繁重处理”都是只读的,并且您没有执行任何需要写回生产数据的操作,请使用主/从复制并使用从属复制来满足您的所有报告和数据分析需求。复制链接将使从属设备上的值保持最新,您可以根据需要为从属设备提供尽可能多的负载,而不会降低为您的生产系统提供服务的主设备的速度。
关于mysql - 在不影响 table 的情况下对 table 进行重度碾压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9900602/