2010-05-16 1 views
0

나는 주문을했을 때의 타임 스탬프를 저장하는 필드/컬럼을 가지고 MySQL 데이터베이스에 주문 테이블을 가지고있다.계산 된 열 또는 저장 프로 시저 또는 그냥 PHP 함수가 필요합니까?

언제 주문해야하는지 계산해야합니다. 아마도 배 날짜를 계산하고 필요할 때 호출하는 함수를 작성하는 방법을 생각할 수는 있습니다.하지만 계산 된 열로 shipdate를 사용하는 것이 더 바람직하다고 생각하지는 않습니다.

즉, 저장 프로 시저를 사용하지 않았거나 계산 된 필드를 만들지 않았습니다. 나중에 나는 최고 일 것이다라고 생각한다. 그러나 다시 확실하지 않다. FMP에서 항상 계산 된 필드를 만들었지 만 프로그램에서 벗어났습니다.

+0

그냥 선택 시간에 계산하십시오. 뭐가 문제 야? –

+0

그냥 모든 분야에서 계산할 필요없이 모든 앱에서 액세스 할 수 있도록 필드에서 사용하는 것이 더 좋을 수도 있다고 생각합니다. – mcgrailm

+0

SQL은 기반으로 설정됩니다. 함수를 자유롭게 만들 수는 있지만 확장 성이 좋지는 않습니다 (적용 할 레코드 수를 늘리면 속도가 느려집니다). –

답변

1

나는 view으로 할 것입니다. 기본적으로 하나의 결과 열이 배 출일 인 select 문입니다. 다른 관련 열을 추가 할 수도 있습니다. 데이터베이스에 액세스하는 모든 앱은 일반 테이블과 동일한 방식으로보기에 액세스 할 수 있습니다. 테이블이처럼 보였다 경우

:

create table orders(id INTEGER PRIMARY KEY AUTO_INCREMENT, 
        order_date DATETIME);                  

당신은 항상 삼일 후 배송, 당신은 사용할 수 있습니다 : 필요에 따라

create view order_view as 
    select id, 
     order_date, 
     order_date + INTERVAL 3 DAY as ship_date 
    from orders; 

SELECT 문은 복잡 할 수있다. 그런 다음 일반 테이블처럼 모든 응용 프로그램에서 order_view을 읽습니다.

+0

이것은 멋질 수 있습니다. 나는 이것에 놀아서 계산서에 맞는 지 보겠습니다. 이걸 사용하는 것에 대한주의 사항이 있습니까? – mcgrailm