我是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)
这三个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))
在一个MySQL/PHP应用程序中,SQL查询的结果将在2秒内返回。
在React-Native世界中,我需要一个本地数据库,其实现类似于上述内容,但还必须符合以下要求:
必须支持15 MB的持久存储(以便在没有互联网访问的情况下使用)
按3种食物过滤的餐点查询必须在现代主流移动设备上的小于3秒内完成。例如,在iPhone 6和Huawei Nova Plus上,等同于上述SQL查询的查询必须在3秒内完成。
我已经尝试了以下方法:
A. Realm在标准2上失败,如此问题所示:
Improve the speed of a realm query in react-native?
Realm问题的解决方案将是对此问题的可接受答案。
B. 六年前,我在iOS设备上尝试了Core Data。由于内存不足,iOS设备一直崩溃。
C. 我正在尝试SQLite Storage,但已经遇到了这个问题:
basic React Native SQLite script returning undefined which causes error
哪些工具可以解决这个问题?