저는 Google App Engine으로 작업 해 왔으며 일부 데이터 쿼리에서 성능이 약간 저하되고 있습니다. App Engine 데이터 스토어 디자인은 SQL 데이터베이스 작업과는 다른 사고 방식이며 최선의 방법이라고 확신하지 못한다고 읽었습니다. 특히GQL 쿼리 최적화 및 테이블 아키텍처
:
가 나는 Foo
유형과 UserFoo
유형이 나는 바른 길에 들어 가려고하는 두 가지 질문이 있습니다. 각 UserFoo
은 해당 Foo
의 "인스턴스"이며 해당 인스턴스에 특정한 데이터를 보유합니다. 내 Foo
유형은 고유 식별자 인 fooCode
속성을 가지고 있으며 속성을 사용하여 각 UserFoo
을 각 Foo
으로 매핑합니다. 나는 다음과 같이 코드를 각 푸에 운항합니다 :
foos = Foo.all().filter('bar =', bar)
for foo in foos:
userFoo = UserFoo.all().filter('userKey =', user).filter('fooCode =', foo.fooCode)
참고 : 우리가 쉽게 삭제하고 새 Foo
들 다시 추가 한 다음 모든 다시 매핑 할 필요가 없습니다 수 있도록 내가 참조 키를 통해 fooCode
를 사용하고 있습니다 해당 UserFoo
s. 일반에서
:
을 사용하는 GAE 데이터 저장소 테이블과 모범 사례를 설계하는 일반적인 방법은 무엇입니까? 일반에서
Foo와 UserFoo 객체간에 1 대 1 대응이 있습니까? –
당신이 보여주는 것은 사실 GQL 쿼리가 아니라는 점에 유의하십시오. –
1 많은 UserFoo를 푸십시오. 또한 GqlQuery를 원래는 호출했지만 느리게 읽었 기 때문에 변경했습니다. –