MySQL과 통신하는 PHP로 작성된 알고리즘이 있습니다. 표준 공유 호스팅 서버에서 계산하는 데 약 5 초가 걸립니다. 내 질문은 - 알고리즘의 자체를 변경하지 않고 속도를 올리거나, 전용/VPS를 사용하거나, 일부 클라우드 컴퓨팅을 사용하거나 ... 어떻게 할 수 있습니까?클라우드 컴퓨팅 - PHP 및 MySQL
의견을 보내주십시오.
편집 : 대중 교통을위한 Dijkstra 알고리즘입니다. 나는 유일한 3500 개의 정류장이있다.
간단히 말해서, 활성 중지, 이전 정지, lineToStop, totalTime, travelTime 등을 기록하기위한 여러 배열이 있습니다. 나는 정지 수를 반복하고, 정지의 ID를 얻고, 다른 정지 (활성 정지 시간을 기준으로)에 대한 연결을 구축하고, 정지()의 크기에 대해 다시 루프를 수행하여 가장 낮은 값을 가진 루프를 찾고, 활성화 된 후 다시 계속하십시오.
나는 그렇게 optimizatio 문제의 실현 ->Dijkstra algorithm optimization/caching
흠, 자세한 내용 없이는 내 첫 제안은 MySQL 쪽에서 테이블을 최적화 할 수 있습니까? 즉 인덱스 등등? – Brian
9/10 번 테이블에 올바른 인덱스를 정의하지 않았기 때문에 느린 쿼리입니다. 어떤 종류의 호스팅을 사용하여 데이터베이스를 실행해도 문제가되지 않지만 올바른 스키마를 만들고 쿼리를 프로파일 링해야합니다. –
@ Dan Grossman : 또는 단단한 루프로 실행되는 빠른 쿼리입니다. for ($ i = 1; $ i <100000; $ i ++) {mysql_query ("select id from blah"); }'또는 공유 호스팅에 과부하가 걸렸습니다. 또는 파이프가 너무 얇습니다. 누가 알아? (그러나 일반적으로 최적화되지 않은 쿼리는 매우 일반적입니다. 예 : – Piskvor