PostgreSQL描述

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

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

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

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

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

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

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

    相关文章

    项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
    本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
    错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
    因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
    wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
    psycopg2.OperationalError: SSL SYSCALL error: EOF detect...