php - mysql进行update操作速度慢,如何解决
仅有的幸福
仅有的幸福 2017-05-16 13:07:09
0
2
480

数据库有个items表,现在要update其中的userid字段、
语句是UPDATE items SET userid = xxx WHERE userid = 0 limit 1;
已经开启事务来优化时间了,但感觉还是太慢了..更新3w条花费3分钟。
早上尝试建立个temp表,将userid->items数组存入,然后写php脚本不停的查询temp表,然后操作。
但是这样执行多个脚本的时候,只有一个能活下来...而且达不到监控的效果.
现在的想法是,将更新操作分成删除和插入..正在尝试
另外问一下,php开发的话,用什么做消息队列比较好..rabbitmq的php版,找不到文档。。。

仅有的幸福
仅有的幸福

모든 응답 (2)
我想大声告诉你

업데이트 대신 바꾸기를 사용하거나 중복 키 업데이트 시 삽입...을 사용하여 일괄 업데이트할 수 있습니다.

또한 Rabbitmq PHP 버전의 데모가 첨부되어 있습니다:
https://github.com/yuansir/ra...

    仅有的幸福

    redis를 대기열로 사용하는 것이 일반적입니다. 제한 때문에 SQL이 느려질 수 있습니다. 업데이트할 모든 데이터의 ID를 꺼내서 업데이트해 보세요. 훨씬 나아질 것입니다

    .
      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!