微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL描述

1.Postgresql允许用户定义基于正规的sql类型的新类型,允许数据库自身理解复杂数据。

例如,你可以定义一个address来组合一些事物如街道编号、城市和国度的字符串。从这一点上你可以轻易的建立把保存地址的所需要的所有字段包含在一个单一行列中的表。

2.Postgresql还允许类型包括继承,这是在面向对象编程中的主要概念。

3.在Postgresql中程序员可以用一组可观的支持语言中任何一种来写这种逻辑。

4.序员可以把代码作为函数插入服务器中,它是使代码类似于存储过程的一个小包装器。以这种方式sql代码可以调用(比如)C代码或反之。

  • 性能增进,因为数据库引擎在一个时间一个地方调用所有的逻辑,减少了在客户和服务器之间的来回往返的次数
  • 可靠性增进,因为数据验证代码集中到一个地方,就在服务器上,而不用依赖在多个客户应用中的同步逻辑,它们甚至可能以多种编程语言写成。
  • 通过向服务器增加有用的抽象,客户代码可以变得更短小和简单。
  • 5.Postgresql用的是多版本并发控制机制(Multiversion concurrency control),它的特点在于读操作在数据库中不会产生锁,读操作不影响 写操作,写操作不影响读操作。只有在两个或多个事务试图同时更新同一条记录时才会有等待出现。这种机制可以减少数据库中的锁竞争情况,提高数据库的吞吐量。

    6.Postgresql使用的是基于成本的优化器(Cost based optimizer)。理论上基于成本的优化器会计算用户输入的查询语句的每个合法的查询计划的执行成本,然后从中选择成本最小的计划作为执行查询语句的最终计划。 在实际应用中,查询语句的合法的查询计划的个数是随查询复杂度的增加呈指数增长的。对于过于复杂查询,如果遍历每个合法的查询计划,将会消耗掉大量的时间,这是不能被用户接受的,所以优化器不会遍历每个合法的查询计划,只会选择一部分查询计划,从中找到执行成本最小的计划。

    原文地址:https://www.jb51.cc/postgresql/196990.html

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐