Лучший подход для обработки большого количества данных в базе данных Firebase - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть этот код для извлечения данных из базы данных Firebase:

    func fetchVinylsData(){
    guard let currentUID = Auth.auth().currentUser?.uid else { return }

    SVProgressHUD.show()
    self.vinyls = [Vinyl]()
    dbRef.child("vinyls").child(currentUID).observe(.childAdded) { (snapshot) in
        guard let dictionary = snapshot.value as? Dictionary<String,AnyObject> else { return }
        let vinyl = Vinyl(dictionary: dictionary)

        self.vinyls.append(vinyl)
        self.vinyls.sort(by: { (vinyl1, vinyl2) -> Bool in
            if vinyl1.artist < vinyl2.artist {
                return true
            } else if vinyl1.artist == vinyl2.artist {
                return vinyl1.title < vinyl2.title
            } else {
                return false
            }
        })
        DispatchQueue.main.async {
            self.tableView.reloadData()
            self.navigationItem.title = "List of Vinyls(\(self.vinyls.count))"
        }
    }
    SVProgressHUD.dismiss()
}

Я вызываю его, когда запускаю свое приложение в viewDidAppear и когда я возвращаюсь на главную страницу из другого ViewController, эта функция выполняется, а также когдаЯ удаляю элемент из базы данных или обновляю элемент.Но так как я получил много записей в своей базе данных (900 записей и их число приблизилось к 4.000), мне стало интересно, как лучше всего обрабатывать большие объемы данных в базе данных Firebase и быстро, чтобы не замедлять работу моего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...