php 如何提高 “循环数据库修改操作”的速度 5
例如,我在读取10W条数据,在每条数据读出的时候,需要把这条数据中的某个字段(或多个字段),更新到另一个表中对应的数据字段中(这个更新过程,得先查到相应的数据,然后再进行...
例如,我在读取10W条数据,在每条数据读出的时候,需要把这条数据中的某个字段(或多个字段),更新到另一个表中对应的数据字段中(这个更新过程,得先查到相应的数据,然后再进行更新)。像这种情况页面会很慢,问题各位大哥,有没有提高速度的方法~
展开
2个回答
展开全部
给你个思路
先最大化 PHP 效率充分利用 系统资源。
把 sql 拆开比如2万一个用一个 php 去跑 总共用5个 php 一起跑。
然后最大化 mysql 效率
查一下mysql 的瓶颈在哪。针对性的去优化。
查询慢 就看看索引什么的
写慢就查查 buffer 什么的。
这里强烈建议读写分离。
用不通的数据库实例去分别处理读写。
再看看磁盘 IO 性能。看看队列数据。不行就上阵列。或者单表部署单个磁盘。或者读写在不同的磁盘进行。
当然用缓存也可以。
比如把10万条都独出来存到 memcache 等内存缓存中。循环处理数据的时候读内存的数据不用查数据库。
还有终极大招。
你直接把数据库都搬内存里面。。。
先最大化 PHP 效率充分利用 系统资源。
把 sql 拆开比如2万一个用一个 php 去跑 总共用5个 php 一起跑。
然后最大化 mysql 效率
查一下mysql 的瓶颈在哪。针对性的去优化。
查询慢 就看看索引什么的
写慢就查查 buffer 什么的。
这里强烈建议读写分离。
用不通的数据库实例去分别处理读写。
再看看磁盘 IO 性能。看看队列数据。不行就上阵列。或者单表部署单个磁盘。或者读写在不同的磁盘进行。
当然用缓存也可以。
比如把10万条都独出来存到 memcache 等内存缓存中。循环处理数据的时候读内存的数据不用查数据库。
还有终极大招。
你直接把数据库都搬内存里面。。。
2014-09-01
展开全部
合并你的sql。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询