我正在开发一个django项目,该项目显示数据库将具有图像链接和描述(关键字)我不希望imagelink中的重复条目是最好的数据库使用它吗?我应该使用mysql避免重复输入?但我真的很喜欢mongodb的json结构它很容易处理我认为请建议一个好的
答案 0 :(得分:1)
你在这里比较两种不同的制度。
的MySQL - 您必须事先决定架构。如果您需要更改设计,则还需要进行迁移。 - 但另一方面,你获得了关系利益。
的MongoDB - 您可以灵活地进行列扩展,或者可以将更多通用分类全部合并到单个集合中(如MySql中的表) - 这也是数据库级别检查。由于您的数据库正在接受不同的数据,因此您无法同时要求对其进行分类。虽然较新的版本在这些版本上引入了一些东西,但它们已经开始了。
首先需要确定应用程序需要扩展的方式。如果您有结构化数据流入并希望利用数据的关系解释,那么请转到MySql,否则如果您将扩展应用程序并且看到结构更改将用于MongoDB。
编码级别的易用性可能会有所不同,但这种选择应该更多地取决于应用程序类型。
答案 1 :(得分:1)
追求NoSQL DB有自己的优势,扩展不再是问题,也不再是DB的性能。
MongoDB是一个很好的选择,因为您存储图像链接和关键字。 NoSQL DB是非事务性数据的最佳DB。在这种情况下,图像链接根本不会改变或很少改变。
为避免存储重复条目,请使用存储图像链接的密钥索引并将其设为unique index。此外,您可以使用text index关键字来加快搜索速度。