我使用React Native的本地数据库是什么?

Joh*_*ohn 10 database react-native

我是新来的本地反应,我需要一个本地数据库工具列表,它将符合下面描述中的最低标准.

如果这是一个PHP/MySQL应用程序,我构建3个数据库表:

t_food (500 rows)
- food_id (primary_key)
- food_name (string)

t_meal (100 000 rows)
- meal_id (primary_key)
- meal_name (string)

t_meal_item (1 000 000 rows)
- meal_id (foreign_key)
- food_id (foreign_key)
Run Code Online (Sandbox Code Playgroud)

这三个表组合在MySQL中占用大约10MB到15MB.然后我将使用PHP创建一个接口,该接口将显示此查询的结果:

SELECT meal_id FROM t_meal_item WHERE food_id = @food1 AND meal_id IN (SELECT meal_id FROM t_meal_item WHERE food_id = @food2 AND meal_id IN (SELECT meal_id FROM t_meal_item WHERE food_id = @food3))
Run Code Online (Sandbox Code Playgroud)

在MySQL/PHP应用程序中,SQL查询的结果将在不到2秒的时间内返回.

在本地反应世界中,我需要一个本地数据库,它可以达到与上述类似的结果,但也必须符合以下要求:

  1. 必须支持15 MB的持久存储(以便您可以在没有Internet访问的情况下使用它)

  2. 在现代主流移动设备上查询由3种食品过滤的餐点必须在3秒内完成.例如.相当于上面的SQL查询必须在不到3秒的时间内在iphone 6和华为Nova Plus上完成.

我已经尝试过以下方法:

A. Realm在此问题中指出的标准2失败:

在react-native中提高领域查询的速度?

领域问题的解决方案将是这个问题的可接受答案.

B.六年前,我尝试使用iOS设备上的核心数据.由于内存不足,iOS设备不断崩溃.

C.我正在尝试使用SQLite存储,但这里遇到了这个问题:

基本的React Native SQLite脚本返回undefined,导致错误

什么工具可以解决这个问题?

Moh*_*lil 6

考虑将本机作为前端库进行反应,需要一个安静的api才能连接,这样你就可以用php做后端并且本机将从它接收数据

如果您需要本地数据库,可以使用react-native-local-mongodb

react-native-sqlite-storage

react-native-sqlite

如果你使用redux,你也可以使用redux-persist


小智 5

我没有使用人们列出的其他数据库,但我建议使用Realm。非常有用,快速,与react-native完全集成在一起,并且有据可查。

https://realm.io