php - mysql 업데이트 작업이 느린데 어떻게 해결하나요?
仅有的幸福
仅有的幸福 2017-05-16 13:07:09
0
2
605

데이터베이스에 항목 테이블이 있으며 이제 그 안의 userid 필드를 업데이트해야 합니다.
문은 UPDATE items SET userid = xxx WHERE userid = 0limit 1;입니다. >최적화를 위해 거래가 활성화되었습니다. 이제 시간이 지났는데도 기사 30,000개를 업데이트하는 데 3분이 걸립니다.
아침에 임시 테이블을 생성해보고, userid->items 배열을 저장한 후, 임시 테이블을 연속적으로 쿼리하는 php 스크립트를 작성해서 동작시켜 보세요.
그런데 이렇게 여러 개의 스크립트를 실행하면 하나만 살아남게 되고... 모니터링 효과도 얻을 수 없게 됩니다.
현재 생각은 업데이트 작업을 삭제와 삽입으로 나누는 것입니다.. 지금 시도해 보세요
또한 PHP를 개발하는 경우 어떤 메시지 큐를 사용하는 것이 더 좋은지 묻고 싶습니다. PHP 버전의 Rabbitmq에 대한 문서를 찾을 수 없습니다. . .

仅有的幸福
仅有的幸福

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

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

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

仅有的幸福

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

.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿