mysql切分查询的使用分析
对于大型查询,有时需要分而治之。大型查询被分割成小查询:每个查询函数完全相同,但只有一小部分完成,并且每个查询返回的结果只有一小部分。
删除旧的数据是一个很好的例子。在清理旧数据的定期,如果一个SQL语句中涉及到大量的数据,它可以立即锁定多个表或行,消耗大量的系统资源,但阻止其他许多小但重要的查询。当一个大的DELETE语句分割成较小的查询,MySQL的性能可以被最小化,减少MySQL复制造成的延误。
例如,每个月将运行一个语句来清理三个月前的数据。
复制代码代码如下:MySQL >删除消息,<< date_sub DT(现在(),间隔3个月);
这样的任务可以通过以下方式完成:
rows_affected = 0
{做
rows_affected = do_query(删除消息,<< date_sub DT(现在((现在的(),间隔3个月)限10000)
}而rows_affected > 0
一次删除一万行数据是对服务器的一种更有效和更无效的方法,同时,如果数据被一次性删除,服务器的一次性一次性压力可以分散到更长的时间段,从而减少锁表被删除的时间。
更多对MySQL相关内容感兴趣的读者可以看到这个站点的主题:MySQL事务技巧摘要
希望本文能帮助您了解MySQL数据库仪表。