我知道,关系数据库是一个数据库,其中一个表中的字段链接到其他表中的行,就像这样。
但我无法理解这对我作为 Web 开发人员意味着什么!
据我所知,带有连接和嵌套选择的查询会降低性能(尤其是带有数十个连接的 drupal 风格的查询)。更重要的是,对数据库的任何查询都是瓶颈,然后你有很多用户,你必须缓存每个选择请求。
如果缓存每个选择请求,最好缓存简单的请求而不是复杂的。您可以缓存“select * from tbl1 where id = 123”和“select * from tbl2 where id = 456”或“select * from tbl1, tbl2 where ...”,但如果您选择第二种方式,您将需要缓存对象的每个组合 - 这并不酷。
好的,现在我们只使用非常简单的查询,例如“select * from tbl1 where id = 123” of “select id from tbl1 order by id limit 0, 30”并缓存它们(或者我们可以只缓存第一种类型的查询,无论如何)。有查询而不是简单的 INSERT、DELETE 和 UPDATE 都是我们需要和使用的!
正如我们所见,所有关系逻辑都使用应用程序的主要语言,而不是 SQL。那么,为什么我们需要所有这些关系性的东西呢?他们的意思是什么?“关系”类型有什么其他类型没有但需要的东西?如果我们不使用关系特性,为什么每个人仍然使用 MySQL 或任何关系数据库,即使他关心性能?
这种类型的数据库已经成为一种标准。为什么?我没有线索。除了 GAE 中的 on 之外,我几乎从未听说过有人使用非关系数据库。
我错过了什么吗?