2010-01-01 2 views
2

내 응용 프로그램의 거의 모든 단계에서 데이터베이스 삽입/업데이트/삭제가 응용 프로그램 코드 (필자의 경우 PHP)에서 수행됩니다.응용 프로그램 프로세스 + 트리거. 좋은가요?

그러나 일부 상황에서는 일부 계산 및 테이블 변경을 위해 MySQL 트리거를 사용하고 있습니다.

권장 방법입니까? 아니면 응용 프로그램에서만 데이터베이스가 아닌 모든 작업을 수행해야한다는 모범 사례 규칙이 있습니까?

아무쪼록 고맙습니다.

답변

1

일반적으로 데이터베이스는 확장하기가 가장 힘듭니다. 결과적으로 이 매우이라고 가정하면 가장 기본적인 데이터베이스 기능 만 사용하여 최대 데이터베이스 성능을 보장하는 것입니다. 즉 트리거가없고 외래 키가 없으며 조인이 필요하지 않습니다 (비정규 화를 통해 수행됨). 그러나 , 이것은 웹의 상위 1 %에 있다면 걱정할 필요가있는 부분 일뿐입니다.

그러나 단순성 또한 항상 최우선 순위입니다. 그리고 트리거는 종종 가장 간단한 솔루션입니다. 가까운 장래에 웹의 상위 1 % 근처에 머물지 않으려한다면 (솔직히 말해서, 우리 중 누구라도 그렇다면 소수 만) 트리거를 사용하십시오.

규모의 페이스 북 수준을위한 응용 프로그램을 디자인하려면 응용 프로그램을 간단한 방법으로 작성하는 것보다 훨씬 더 많은 작업과 유지 관리 오버 헤드가 필요합니다. 페이스 북 수준의 트래픽에 도달하지 못하면 모든 작업이 낭비됩니다.

관련 문제