12/10/2019, 5:00 AM
@Deleted User, in a NoSQL database you don't typically get join as a feature.. as a result, you have to create your db schemas in a way that is "compatible" with the kind of queries you want. This can be restrictive at times and add complexity (because you will have to replicate a lot of data across tables). That being said, you can follow this same approach for your schemas in a sql database to minimise the number of joins you will need. In general, if you must do a join, you should, but try and minimise the number of rows you would be joining on. For example, joining 10s or 100s of rows is perfectly fine.. but doing so with 100,000 rows may quickly lead to slow downs. So if you ever think that you are doing massive joins, then think like your making a NoSQL schema, and replicate data to avoid joins. If you have to do many joins (like in a recursive way) one after the other in the same query, then I think that means that data is better suited to be modelled as a graph. And there are databases that support graphs very well like Neo4j. In conclusion, it's OK to have joins as long as the number of rows is not too high. But again, I don't have enough information about your application as of yet.. so consider my thoughts as just another data point amongst any other research you may do.