设为首页收藏本站
查看: 100|回复: 0

[PHP] MySQL切分查询用法分析_MySQL

[复制链接]

论坛元老

Rank: 6Rank: 6

积分
34268
主题
17031
UID
1347
M币
67
贡献
17170

  • 发表于 2017-5-12 16:11:00 | 显示全部楼层 |阅读模式
    本文实例讲述了MySQL切分查询用法。分享给大家供大家参考,具体如下:
    对于大查询有时需要‘分而治之',将大查询切分为小查询: 每个查询功能完全一样,但只完成原来的一小部分,每次查询只返回一小部分结果集。
    删除旧的数据就是一个很好地例子。定期清理旧数据时,如果一条sql涉及了大量的数据时,可能会一次性锁住多个表或行,耗费了大量的系统资源,却阻塞了其他很多小的但重要的查询。将一个大得DELETE语句切分为较小的查询时,可以尽量减少影响msql的性能,同时减少mysql复制造成的延迟。
    例如,每个月会运行一次的语句,以清理三个月前的数据:
    代码如下:
    mysql> DELETE FROM messages WHERE dt
    可以用以下的方法来完成这样的任务:
    rows_affected = 0 do { rows_affected = do_query("DELETE FROM messages WHERE dt0
    一次删除一万行数据是个比较高效且对服务器影响较小的做法。同时如果每次删除数据时暂停一会,可以将服务器原本的一次性压力分散到一个较长的时间段中,从而减少删除时锁表锁行的时间。
    更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》
    以上就是MySQL切分查询用法分析_MySQL的内容,更多相关内容请关注PHP中文网(www.php1.cn)!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    在我站开通SVIP可同时获得17个站点VIP资源 立即登录 立即注册
    快速回复 返回顶部 返回列表