두 개의 서버가 있습니다. 그 중 하나가 고객입니다. 고객은 자신의 CMS에서 고객 정보의 XML/JSON 내보내기 URL을 제공하고 있으며 우리가 개발중인 webapp에 데이터를 가져 오기위한 일부 가져 오기 스크립트를 작성합니다.원격 영구 동기화
INSERT INTO customers (name,address) VALUES ('John Doe', 'NY') ON DUPLICATE KEY UPDATE name='John Doe', address='NY'
이 솔루션은 지금까지 내가 아는 한, permormace의 방법으로 최고입니다 ...
그러나이 솔루션은 해결되지 않습니다 :
난 항상 이런 식으로 그 일을 했어요 레코드를 삭제하는 문제. 일부 클라이언트가 데이터베이스에서 삭제되어 현재 내보내기 작업을하지 않은 경우에는 어떻게해야합니까? 어떻게해야합니까?
샤 우드 나는 전체 테이블을 우선 TRUNCATE 한 다음 다시 채 웁니다. 아니면 모든 레코드가있는 PHP 배열을 채운 다음 다시 XML/JSON이 아닌 레코드를 삭제해야합니까?
더 나은 해결책이 있어야한다고 생각합니다. 우리는 시간이 많이 걸릴 수 있습니다 기록과 전체 가져 오기 프로세스의 수천을 가져올 수있는 원인
나는 '의 performace의 방법으로 최적의 솔루션에 관심이 있어요.
그것은 고객의 CMS의 수출은 항상 자신의 현재 고객 데이터가 모두 포함 사실인가요 :
하지만 TRUNCATE 직후 webapp에 몇 분 동안 완료되지 않은 데이터가있을 수 있습니다 ... ( 그리고 SQL 쿼리를 가져 오는 일반적인 SQL 쿼리를 대체하면 시간을 많이 절약 할 수 있습니다 ... 아니면 프로세스 자체는 가능하지만 많은 URL을 호출하여 XML/JSON을 가져와야하는데 실제로 많은 시간이 필요합니다. 내 우선 순위는 데이터의 무결성과 완전성입니다. –
매번 테이블을 자르면 데이터 손실의 위험이 있습니다. 백업을 목적으로하고 싶다면 무엇을하고 싶지는 않습니다. – symcbean
위험 요소가있는 데이터가 손실 될 때마다 테이블을 자르는 방법은 무엇입니까? 고객 정보의 "현재"상태가 항상 어딘가에 있다고 생각합니다. , Radek의 고객에게 그대로 유지되며, 따라서 언제든지 '고객'테이블을 재구성 할 수 있습니다. 무엇이 누락 되었습니까? 감사! –