扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
《数据库查询优化器的艺术》(李海翔)电子书网盘下载免费在线阅读
成都创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为土默特右旗企业提供专业的做网站、成都做网站,土默特右旗网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
资源链接:
链接:
提取码:ys7p
书名:数据库查询优化器的艺术
作者:李海翔
豆瓣评分:8.4
出版社:机械工业出版社
出版年份:2014-1-1
页数:532
内容简介:
《数据库技术丛书·数据库查询优化器的艺术:原理解析与SQL性能优化》是数据库查询优化领域的里程碑之作,由Oracle公司MySQL全球开发团队、资深专家撰写,作者有10余年数据库内核和查询优化器研究经验。数据库领域泰斗王珊教授亲自作序推荐,PostgreSQL中国社区和中国用户会发起人以及来自Oracle、新浪、网易、华为等企业的数位资深数据库专家联袂推荐。从原理角度深度解读和展示数据库查询优化器的技术细节和全貌;从源码实现角度全方位深入分析MySQL和PostgreSQL两大主流开源数据库查询优化器的实现原理;从工程实践的角度对比了两大数据库的查询优化器的功能异同和实现异同。它是所有数据开发工程师、内核工程师、DBA以及其他数据库相关工作人员值得反复研读的一本书。
《数据库技术丛书·数据库查询优化器的艺术:原理解析与SQL性能优化》共19章,分为四个部分:第一篇(第1~4章)对数据库查询优化技术的范围、逻辑查询优化、物理查询优化,以及查询优化器与其他模块的关系做了非常细致、深入的讲解;第二篇(第5~10章)首先从源码角度对PostgreSQL查询优化器的架构、层次、设计思想、相关数据结构和实现原理进行了深入、系统的分析,然后从功能角度对PostgreSQL的逻辑查询优化、物理查询优化、查询优化器的关键算法,以及PostgreSQL查询优化器与其他模块的关系做了深入的讲解;第三篇(第11~16章)首先从源码角度对MySQL查询优化器的架构、层次、设计思想、相关数据结构和实现原理进行了深入、系统的分析,然后从功能角度对MySQL的逻辑查询优化、物理查询优化、查询优化器的关键算法,以及MySQL查询优化器与其他模块的关系做了深入的讲解;第四篇(第17~19章)对PostgreSQL与MySQL的逻辑查询优化技术、物理查询优化技术、设计思想和编码规范等各方面进行了深度的比较。
作者简介:
李海翔,网名“那海蓝蓝”,资深数据库专家,从事数据库研发、数据库测试与技术管理等工作10余年,对数据库的内核有深入的研究,长于PostgreSQL和MySQL等开源数据库的内核与架构。现任职于Oracle公司MySQL全球开发团队,从事查询优化技术的研究和MySQL查询优化器的开发工作。曾参与了863、核高基、工信部、科技部、发改委、北京市科委等多个重大科技项目。2005年获得北京市科学技术进步奖一等奖,2006年获高级工程师(系统分析师)。
apt-get install 吧
或者yum
用repo里的稳
为啥第二天重新compile?
是configure出问题还是make还是make install呢?
如果你用的debian系列系统,用apt-get命令安装postgresql,如果是red hat系列(比如rhel, centos等),请用yum命令安装。如果不行,aptitude purge删除干净。
你别用redhat 9了,那个太老了,内核和现在已经差好远了,打个比方,你在用Windows NT 4跑SQL Server 2008。哈哈,用Ubuntu 9.10 Server吧。
PgAdmin可以在 找到。看得出来你不怎么会用Linux吧。
数字时代下,数据规模爆发性增长,数据存储结构越来越灵活多样,推动着数据库技术不断演进,我国数据库产业进入重要发展机遇期。 天翼云积极顺应时代趋势,创新推出 TeleDB 产品, 为企业提供全方位数字化转型解决方案,助力企业上云用数赋智。
TeleDB 是天翼云在数据库领域丰富实践经验和先进技术架构的有机结合, 由天翼云自主研发,具有兼容社区生态、全面国产化适配等核心能力。
历经8年打磨, 目前 TeleDB 已研发核心PaaS技术20余项,获得核心专利技术16项,承载7亿+用户, 稳定性得到全面验证。
TeleDB 数据库采用容器化技术和分布式块存储技术,通过云原生技术改造业务,使得数据库服务器的CPU、内存能够快速扩容,通过动态增减节点提升性能和节省成本,存储空间无需手动配置,实现自动弹性伸缩。
面对多元化的业务需求,企业需要服务提供商能够提供横向主流数据库产品和纵向多版本技术服务的全覆盖能力,为此,天翼云还构建了 TeleDB 数据库上云全生态。
在数据库内核方面, TeleDB 采用云原生架构,高度兼容MySQL、PostgreSQL、openGauss、TiDB, 寻求社区深度合作,在强化自身能力的同时反哺社区,提升代码自主可控能力及数据库团队的社区影响力。
TeleDB 是一款兼容开源MySQL协议的企业级智能化关系型数据库引擎,适用于在线事务处理,可为用户提供稳定可靠的企业级数据库服务;
TeleDB 兼容开源PostgreSQL协议,支持SQL规范的完整实现、丰富多样的数据库类型,并高度兼容Oracle语法,集成了一系列管理功能,减轻运维压力;
TeleDB 支持在线事务处理(TP)和在线分析处理(AP),是一款高性能 HTAP 融合型NewSQL数据库引擎,适用于数据规模大、高可用、高吞吐等业务场景。
在建设层面,TeleDB 聚焦掌握数据备份、数据迁移、数据库自动驾驶仓、数据库安全网关等核心生态产品。 支持HBase、文档数据库、时序数据库等NoSQL数据库协议,提供实时分析云服务,适合PB级,千万级QPS的分布式计算应用场景, 是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景的首选数据库。
此外,TeleDB 借助外部生态体系夯实完善交付、实施、运营、维护等过程, 可以实现端到端软硬件深度的整合和优化,提升数据存储效率和访问效率,进一步发挥网络和新介质能力,构建一站式强体验生态体系。
TeleDB 数据库作为中国电信天翼云自主研发的产品,实现数据库基础软件全面自主可控。基于 TeleDB 数据库,解决核心基础软件卡脖子问题,赋能千行百业,满足其多元化的上云需求。未来,天翼云将坚持以创新、高效为目标,为用户提供更安全、更可靠、更智能的云数据库产品和服务,让 TeleDB 成为企业乘云而上的助燃剂。
PostgresSQL提供了许多数据库配置参数,本章将介绍每个参数的作用和如何配置每一个参数。
10.1 如何设置数据库参数
所有的参数的名称都是不区分大小写的。每个参数的取值是布尔型、整型、浮点型和字符串型这四种类型中的一个,分别用boolean
、integer、 floating point和string表示。布尔型的值可以写成ON、OFF、 TRUE、 FALSE、 YES、 NO、 1和 0,而且不区分大小
写。
有些参数用来配置内存大小和时间值。内存大小的单位可以是KB、MB和GB。时间的单位可以是毫秒、秒、分钟、小时和天。用ms表示
毫秒,用s表示秒,用 min表示分钟,用h表示小时,用d表示天。表示内存大小和时间值的参数参数都有一个默认的单位,如果用户
在设置参数的值时没有指定单位,则以参数默认的 单位为准。例如,参数shared_buffers表示数据缓冲区的大小,它的默认单位是
数据块的个数,如果把它的值设成8,因为每个数据块的大小是 8KB,则数据缓冲区的大小是8*8=64KB,如果将它的值设成128MB,
则数据缓冲区的大小是128MB。参数vacuum_cost_delay 的默认单位是毫秒,如果把它的值设成10,则它的值是10毫秒,如果把它的
值设成100s,则它的值是100秒。
所有的参数都放在文件 postgresql.conf中,下面是一个文件实例:
#这是注释
log_connections = yes
log_destination = 'syslog'
search_path = '"$user", public'
每一行只能指定一个参数,空格和空白行都会被忽略。“ #”表示注释,注释信息不用单独占一行,可以出现在配置文件的任何地方
。如果参数的值不是简单的标识符和数字,应该用单引号引起来。如果参数的值中有单引号,应该写两个单引号,或者在单引号前面
加一个反斜杠。
一个配置文件也可以包含其它配置文件,使用include指令能够达到这个目的,例如,假设postgresql.conf文件中有下面一行:
include ‘my.confg’
文件my.config中的配置信息也会被数据库读入。include指令指定的配置文件也可以用include指令再包含其它配置文件。如果
include指令中指定的文件名不是绝对路径,数据库会在postgresql.conf文件所在的目录下查找这个文件。
用户也可以在数据库启动以后修改postgresql.conf配置文件,使用命令pg_ctl reload来通知数据库重新读取配置文件。注意,有些
参数在数据库启动以后,不能被修改,只有重新启动数据库以后,新的参数值才能生效。另外一些参数可 以在数据库运行过程中被
修改而且新的值可以立即生效。所以数据库在运行过程中重新读取参数配置文件以后,不是所有的参数都会被赋给新的值。
用户可以在自己建立的会话中执行命令SET修改某些配置参数的值(注意不是全部参数),例如:
SET ENABLE_SEQSCAN TO OFF;
另外,有些参数只有数据库超级用户才能使用SET命令修改它们。用户可以在psql中执行命令show来查看所有的数据库参数的当前值
。例如:
(1)show all; --查看所有数据库参数的值
(2)show search_path; --查看参数search_path的值
10.2 连接与认证
10.2.1 连接设置
listen_addresses (string)
这个参数只有在启动数据库时,才能被设置。它指定数据库用来监听客户端连接的TCP/IP地址。默认是值是* ,表示数据库在启动以
后将在运行数据的机器上的所有的IP地址上监听用户请求(如果机器只有一个网卡,只有一个IP地址,有多个网卡的机器有多个 IP
地址)。可以写成机器的名字,也可以写成IP地址,不同的值用逗号分开,例如,’server01’, ’140.87.171.49, 140.87.171.21
’。如果被设成localhost,表示数据库只能接受本地的客户端连接请求,不能接受远程的客户端连接请求。
port (integer)
这个参数只有在启动数据库时,才能被设置。它指定数据库监听户端连接的TCP端口。默认值是5432。
max_connections (integer)
这个参数只有在启动数据库时,才能被设置。它决定数据库可以同时建立的最大的客户端连接的数目。默认值是100。
superuser_reserved_connections (integer)
这个参数只有在启动数据库时,才能被设置。它表示预留给超级用户的数据库连接数目。它的值必须小于max_connections。 普通用
户可以在数据库中建立的最大的并发连接的数目是max_connections- superuser_reserved_connections, 默认值是3。
unix_socket_group (string)
这个参数只有在启动数据库时,才能被设置。设置Unix-domain socket所在的操作系统用户组。默认值是空串,用启动数据库的操作
系统用户所在的组作为Unix-domain socket的用户组。
unix_socket_permissions (integer)
这个参数只有在启动数据库时,才能被设置。它设置Unix-domain socket的访问权限,格式与操作系统的文件访问权限是一样的。默
认值是0770,表示任何操作系统用户都能访问Unix-domain socket。可以设为0770(所有Unix-domain socket文件的所有者所在的组
包含的用户都能访问)和0700(只有Unix-domain socket文件的所有者才能访问)。对于Unix-domain socket,只有写权限才有意义,
读和执行权限是没有意义的。
tcp_keepalives_idle (integer)
这个参数可以在任何时候被设置。默认值是0,意思是使用操作系统的默认值。它设置TCP套接字的TCP_KEEPIDLE属性。这个参数对于
通过Unix-domain socket建立的数据库连接没有任何影响。
tcp_keepalives_interval (integer)
这个参数可以在任何时候被设置。默认值是0,意思是使用操作系统的默认值。它设置TCP套接字的TCP_KEEPINTVL属性。这个参数对
于通过Unix-domain socket建立的数据库连接没有任何影响。
tcp_keepalives_count (integer)
这个参数可以在任何时候被设置。默认值是0,意思是使用操作系统的默认值。它设置TCP套接字的TCP_KEEPCNT属性。这个参数对于
通过Unix-domain socket建立的数据库连接没有任何影响。
10.2.2. 安全与认证
authentication_timeout (integer)
这个参数只能在postgresql.conf文件中被设置,它指定一个时间长度,在这个时间长度内,必须完成客户端认证操作,否则客户端
连接请求将被拒绝。它可以阻止某些客户端进行认证时长时间占用数据库连接。单位是秒,默认值是60。
ssl (boolean)
这个参数只有在启动数据库时,才能被设置。决定数据库是否接受SSL连接。默认值是off。
ssl_ciphers (string)
指定可以使用的SSL加密算法。查看操作系统关于openssl的用户手册可以得到完整的加密算法列表(执行命令openssl ciphers –v
也可以得到)。
10.3 资源消耗
10.3.1 内存
shared_buffers (integer)
这个参数只有在启动数据库时,才能被设置。它表示数据缓冲区中的数据块的个数,每个数据块的大小是8KB。数据缓冲区位于数据
库的共享内存中,它越大越好,不能小于128KB。默认值是1024。
temp_buffers (integer)
这个参数可以在任何时候被设置。默认值是8MB。它决定存放临时表的数据缓冲区中的数据块的个数,每个数据块的大小是8KB。临时
表缓冲区存放在每个数据库进程的私有内存中,而不是存放在数据库的共享内存中。默认值是1024。
max_prepared_transactions (integer)
这个参数只有在启动数据库时,才能被设置。它决定能够同时处于prepared状态的事务的最大数目(参考PREPARE TRANSACTION命令
)。如果它的值被设为0。则将数据库将关闭prepared事务的特性。它的值通常应该和max_connections的值 一样大。默认值是5。
work_mem (integer)
这个参数可以在任何时候被设置。它决定数据库的排序操作和哈希表使用的内存缓冲区的大小。如何work_mem指定的内存被耗尽,数
据库将使用磁盘文件进 行完成操作,速度会慢很多。ORDER BY、DISTINCT和merge连接会使用排序操作。哈希表在Hash连接、hash聚
集函数和用哈希表来处理IN谓词中的子查询中被使用。单位是 KB,默认值是1024。
maintenance_work_mem (integer)
这个参数可以在任何时候被设置。它决定数据库的维护操作使用的内存空间的大小。数据库的维护操作包括VACUUM、CREATE INDEX和
ALTER TABLE ADD FOREIGN KEY等操作。 maintenance_work_mem的值如果比较大,通常可以缩短VACUUM数据库和从dump文件中恢复数
据库需要的时间。 maintenance_work_mem存放在每个数据库进程的私有内存中,而不是存放在数据库的共享内存中。单位是KB,默
认值是16384。
max_stack_depth (integer)
这个参数可以在任何时候被设置,但只有数据库超级用户才能修改它。它决定一个数据库进程在运行时的STACK所占的空间的最大值
。数据库进程在运行时,会 自动检查自己的STACK大小是否超过max_stack_depth,如果超过,会自动终止当前事务。这个值应该比
操作系统设置的进程STACK的大小 的上限小1MB。使用操作系统命令“ulimit –s“可以得到操作系统设置的进程STACK的最大值。单
位是KB,默认值是100。
10.3.2 Free Space Map
数据库的所有可用空间信息都存放在一个叫free space map (FSM)的结构中,它记载数据文件中每个数据块的可用空间的大小。FSM
中没有记录的数据块,即使有可用空间,也不会系统使用。系统如果需要新的物理存 储空间,会首先在FSM中查找,如果FSM中没有
一个数据页有足够的可用空间,系统就会自动扩展数据文件。所以,FSM如果太小,会导致系统频繁地扩展数 据文件,浪费物理存储
空间。命令VACUUM VERBOSE在执行结束以后,会提示当前的FSM设置是否满足需要,如果FSM的参数值太小,它会提示增大参数。
FSM存放在数据库的共享内存中,由于物理内存的限制,FSM不可能跟踪数据库的所有的数据文件的所有数据块的可用空间信息,只能
跟踪一部分数据块的可用空间信息。
max_fsm_relations (integer)
这个参数只有在启动数据库时,才能被设置。默认值是1000。它决定FSM跟踪的表和索引的个数的上限。每个表和索引在FSM中占7个
字节的存储空间。
max_fsm_pages (integer)
这个参数只有在启动数据库时,才能被设置。它决定FSM中跟踪的数据块的个数的上限。initdb在创建数据库集群时会根据物理内存
的大小决定它的值。每 个数据块在fsm中占6个字节的存储空间。它的大小不能小于16 * max_fsm_relations。默认值是20000。
10.3.3 内核资源
max_files_per_process (integer)
这个参数只有在启动数据库时,才能被设置。他设定每个数据库进程能够打开的文件的数目。默认值是1000。
shared_preload_libraries (string)
这个参数只有在启动数据库时,才能被设置。它设置数据库在启动时要加载的操作系统共享库文件。如果有多个库文件,名字用逗号
分开。如果数据库在启动时未找到shared_preload_libraries指定的某个库文件,数据库将无法启动。默认值为空串。
10.3.4 垃圾收集
执行VACUUM 和ANALYZE命令时,因为它们会消耗大量的CPU与IO资源,而且执行一次要花很长时间,这样会干扰系统执行应用程序发
出的SQL命令。为了解决这个 问题,VACUUM 和ANALYZE命令执行一段时间后,系统会暂时终止它们的运行,过一段时间后再继续执行
这两个命令。这个特性在默认的情况下是关闭的。将参数 vacuum_cost_delay设为一个非零的正整数就可以打开这个特性。
用户通常只需要设置参数vacuum_cost_delay和vacuum_cost_limit,其它的参数使用默认值即可。VACUUM 和ANALYZE命令在执行过程
中,系统会计算它们执行消耗的资源,资源的数量用一个正整数表示,如果资源的数量超过 vacuum_cost_limit,则执行命令的进程
会进入睡眠状态,睡眠的时间长度是是vacuum_cost_delay。 vacuum_cost_limit的值越大,VACUUM 和ANALYZE命令在执行的过程中
,睡眠的次数就越少,反之,vacuum_cost_limit的值越小,VACUUM 和ANALYZE命令在执行的过程中,睡眠的次数就越多。
vacuum_cost_delay (integer)
这个参数可以在任何时候被设置。默认值是0。它决定执行VACUUM 和ANALYZE命令的进程的睡眠时间。单位是微秒。它的值最好是10
的整数,如果不是10的整数,系统会自动将它设为比该值大的并且最接近该值的是10 的倍数的整数。如果值是0,VACUUM 和ANALYZE
命令在执行过程中不会主动进入睡眠状态,会一直执行下去直到结束。
vacuum_cost_page_hit (integer)
这个参数可以在任何时候被设置。默认值是1。
vacuum_cost_page_miss (integer)
这个参数可以在任何时候被设置。默认值是10。
vacuum_cost_page_dirty (integer)
这个参数可以在任何时候被设置。默认值是20。
vacuum_cost_limit (integer)
这个参数可以在任何时候被设置。默认值是200。
10.3.5 后台写数据库进程
后台写数据库进程负责将数据缓冲区中的被修改的数据块(又叫脏数据块)写回到数据库物理文件中。
bgwriter_delay (integer)
这个参数只能在文件postgresql.conf中设置。它决定后台写数据库进程的睡眠时间。后台写数据库进程每次完成写数据到物理文件
中的任务以后, 就会睡眠bgwriter_delay指定的时间。 bgwriter_delay的值应该是10的倍数,如果用户设定的值不是10的倍数,数
据库会自动将参数的值设为比用户指定的值大的最接近用户指定的值 的同时是10的倍数的值。单位是毫秒,默认值是200。
bgwriter_lru_maxpages (integer)
这个参数只能在文件postgresql.conf中设置。默认值是100。后台写数据库进程每次写脏数据块时,写到外部文件中的脏数据块的个
数不能超过 bgwriter_lru_maxpages指定的值。例如,如果它的值是500,则后台写数据库进程每次写到物理文件的数据页的个数不
能超过500,若 超过,进程将进入睡眠状态,等下次醒来再执行写物理文件的任务。如果它的值被设为0, 后台写数据库进程将不会
写任何物理文件(但还会执行检查点操作)。
bgwriter_lru_multiplier (floating point)
这个参数只能在文件postgresql.conf中设置。默认值是2.0。它决定后台写数据库进程每次写物理文件时,写到外部文件中的脏数据
块的个数 (不能超过bgwriter_lru_maxpages指定的值)。一般使用默认值即可,不需要修改这个参数。这个参数的值越大,后台写
数据库进程每次写 的脏数据块的个数就越多。
10.4 事务日志
full_page_writes (boolean)
这个参数只能在postgresql.conf文件中被设置。默认值是on。打开这个参数,可以提高数据库的可靠性,减少数据丢失的概率,但
是会产生过多的事务日志,降低数据库的性能。
wal_buffers (integer)
这个参数只有在启动数据库时,才能被设置。默认值是8。它指定事务日志缓冲区中包含的数据块的个数,每个数据块的大小是8KB,
所以默认的事务日志缓冲区的大小是8*8=64KB。事务日志缓冲区位于数据库的共享内存中。
wal_writer_delay (integer)
这个参数只能在postgresql.conf文件中被设置。它决定写事务日志进程的睡眠时间。WAL进程每次在完成写事务日志的任务后,就会
睡眠 wal_writer_delay指定的时间,然后醒来,继续将新产生的事务日志从缓冲区写到WAL文件中。单位是毫秒(millisecond),
默认 值是200。
commit_delay (integer)
这个参数可以在任何时候被设置。它设定事务在发出提交命令以后的睡眠时间,只有在睡眠了commit_delay指定的时间以后,事务产
生的事务日志才会 被写到事务日志文件中,事务才能真正地提交。增大这个参数会增加用户的等待时间,但是可以让多个事务被同
时提交,提高系统的性能。如果数据库中的负载比较 高,而且大部分事务都是更新类型的事务,可以考虑增大这个参数的值。下面
的参数commit_siblings会影响commit_delay是否生效。 默认值是0,单位是微秒(microsecond)。
commit_siblings (integer)
这个参数可以在任何时候被设置。这个参数的值决定参数commit_delay是否生效。假设commit_siblings的值是5,如果一个事务发出
一个提交请求,此时,如果数据库中正在执行的事务的个数大于或等于5,那么该事务将睡眠commit_delay指定的时间。如果数据库
中正在执行的事务 的个数小于5,这个事务将直接提交。默认值是5。
10.5 检查点
checkpoint_segments (integer)
这个参数只能在postgresql.conf文件中被设置。默认值是3。它影响系统何时启动一个检查点操作。如果上次检查点操作结束以后,
系统产生的事 务日志文件的个数超过checkpoint_segments的值,系统就会自动启动一个检查点操作。增大这个参数会增加数据库崩
溃以后恢复操作需要的时 间。
checkpoint_timeout (integer)
这个参数只能在postgresql.conf文件中被设置。单位是秒,默认值是300。它影响系统何时启动一个检查点操作。如果现在的时间减
去上次检查 点操作结束的时间超过了checkpoint_timeout的值,系统就会自动启动一个检查点操作。增大这个参数会增加数据库崩
溃以后恢复操作需要的时 间。
checkpoint_completion_target (floating point)
这个参数控制检查点操作的执行时间。合法的取值在0到1之间,默认值是0.5。不要轻易地改变这个参数的值,使用默认值即可。 这
个参数只能在postgresql.conf文件中被设置。
10.6 归档模式
archive_mode (boolean)
这个参数只有在启动数据库时,才能被设置。默认值是off。它决定数据库是否打开归档模式。
archive_dir (string)
这个参数只有在启动数据库时,才能被设置。默认值是空串。它设定存放归档事务日志文件的目录。
archive_timeout (integer)
这个参数只能在postgresql.conf文件中被设置。默认值是0。单位是秒。如果archive_timeout的值不是0,而且当前时间减去数 据
库上次进行事务日志文件切换的时间大于archive_timeout的值,数据库将进行一次事务日志文件切换。一般情况下,数据库只有在
一个事务日志 文件写满以后,才会切换到下一个事务日志文件,设定这个参数可以让数据库在一个事务日志文件尚未写满的情况下
切换到下一个事务日志文件。
10.7 优化器参数
10.7.1 存取方法参数
下列参数控制查询优化器是否使用特定的存取方法。除非对优化器特别了解,一般情况下,使用它们默认值即可。
enable_bitmapscan (boolean)
打开或者关闭bitmap-scan 。默认值是 on。
enable_hashagg (boolean)
打开或者关闭hashed aggregation。默认值是 on。
enable_hashjoin (boolean)
打开或者关闭hash-join。默认值是 on。
enable_indexscan (boolean)
打开或者关闭index-scan。默认值是 on。
enable_mergejoin (boolean)
打开或者关闭merge-join。默认值是 on。
enable_nestloop (boolean)
打开或者关闭nested-loop join。默认值是 on。不可能完全不使用nested-loop join,关闭这个参数会让系统在有其它存取方法可
用的情况下,不使用nested-loop join。
enable_seqscan (boolean)
打开或者关闭sequential scan。默认值是 on。不可能完全不使用sequential scan,关闭这个参数会让系统在有其它存取方法可用
的情况下,不使用sequential scan。
和其他发行版无异
-----
CentOS是Linux的一个发行版。
特点:
===
1、可以把CentOS理解为Red
Hat
AS系列!它完全就是对Red
Hat
AS进行改进后发布的!各种操作、使用和RED
HAT没有区别!
2、CentOS完全免费,不存在RED
HAT
AS4需要序列号的问题。
3、CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RED
HAT那样需要花钱购买支持服务!
4、CentOS修正了许多RED
HAT
AS的BUG!
附:
1、CentOS版本说明:
CentOS3.1
等同于
RED
HAT
AS3
Update1
CentOS3.4
等同于
RED
HAT
AS3
Update4
CentOS4.0
等同于
RED
HAT
AS4
---------
CentOS
2
CentOS
3.8
CentOS
4.4
CentOS
5.0
内
核
2.4.9
2.4.21
2.6.9
2.6.18
GCC
2.96
3.2.3
3.4.6
4.1.1
Web
服务器
apache
1.3.27
httpd
2.0.46
httpd
2.0.52
httpd
2.2.3
PHP
4.1.2
4.3.2
4.3.9
5.1.6
MySQL
3.23.58
3.23.58
4.1.20
5.0.22
PostgreSQL
7.1.3
7.3.15
7.4.13
8.1.4
Python
1.5.2
2.2.3
2.3.4
2.4.3
Perl
5.6.1
5.8.0
5.8.5
5.8.8
Samba
2.2.7
3.0.9
3.0.10
3.0.23c
Sendmail
8.11.6
8.12.11
8.13.1
8.13.8
Postfix
X
2.0.16
2.2.10
2.3.3
OpenSSH
3.1p1
3.6.1p2
3.9p1
4.3p2
OpenSSL
0.9.6b
0.9.7a
0.9.7a
0.9.8b
iptables
1.2.5
1.2.8
1.2.11
1.3.5
Bind
9.2.1
9.2.4
9.2.4
9.3.3
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流