2017-01-29 6 views
0

Android 용 Firebase 데이터베이스를 사용 중이며 속도 문제가 있습니다. 많은 사용자 지정 개체를 검색 할 때 시간이 오래 걸립니다 (예 : 각각 1/2 - 1 초). FB에 저장된 Poll 객체를로드하고 있습니다.Android 용 Firebase 데이터베이스 더 빠르게로드 중

pollRef = rootRef.child(getString(R.string.poll_ref)).child(myPollIds.get(polls.size())); 

     pollRef.addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       if (isAdded()) { 
        Poll poll = dataSnapshot.getValue(Poll.class); 

I 개별적으로로드 내가 사용하는 데 필요한 설문 조사의 특정 부분을 다운로드하기 위해 지금 노력하고 있어요 : 여기

내가 현재 모든 여론 조사를 위해 그 일을하고 방법의 예입니다. 꽤 복잡해지고 있습니다. 데이터베이스에서 객체의 일부만 효율적으로 가져 오는 더 좋은 방법이 있습니까?

예를 들어, 개체의 강조 표시된 부분 만 원합니다. enter image description here

미리 감사드립니다. :)

답변

2

Firebase Realtime Database는 원하는대로 개별 속성을 체리 선택하는 기능을 제공하지 않습니다. 더 큰 구조의 데이터 조각을 얻는 가장 효율적인 방법은 모든 관련 비트를 완전히 다른 구조로 복사하고 대신 다른 구조를 요청하는 것입니다. 이러한 종류의 중복은 최적화 된 NoSQL 데이터베이스에서 일반적으로 발생합니다. 데이터는 일반적으로 앱에서 자주 사용되는 특정 검색어를 최적화하는 데 필요한만큼 복사됩니다. 이 단점은 복사 된 값 중 하나를 업데이트 할 때 해당 값을 살 수있는 다른 모든 위치로 복사해야합니다.

이 데이터 조직 전략의 이름은 denormalization입니다.