选择显示字体大小

postgresql数据库学习手册之性能提升技巧

chapter 10. 性能提升技巧

table of contents
10.1. 使用 explain
10.2. 规划器使用的统计信息
10.3. 用明确的 join (连接)控制规划器
10.4. 向数据库中添加记录

10.4.1. 关闭自动提交
10.4.2. 使用 copy from
10.4.3. 删除索引
10.4.4. 事后运行 analyze

查询的性能可能受多种因素影响. 其中一些因素可以由用户操纵,而其他的则属于下层系统设计的基本问题了. 本章我们提供一些有关理解和调节 postgresql 性能的线索.
10.1. 使用 explain

postgresql 为给它的每个 查询产生一个查询规划. 为匹配查询结构和数据属性选择正确的规划对性能绝对有关键性的影响. 你可以使用 explain 命令察看系统为每个查询生成的 查询规划是什么.阅读查询规划是一门值得写一个相当长的教程的学问, 而我这份文档可不是这样的教程,但是这里有一些基本的信息.

目前被 explan 引用的数字是:

*

预计的启动开销(在输出扫描开始之前消耗的时间, 也就是,在一个排序节点里做排续的时间).
*

预计的总开销(如果所有的行都被检索的话, 不过很可能不是这样 --- 比如 limit 将在总开销的一小部分就停止).
*

预计的这个规划节点输出的行数. (同样,只执行到完成为止).
*

预计的这个规划节点的行的平均宽度(以字节计算).

开销是以磁盘页面的存取为单位计算的. (预计的 cpu 处理用一些非常随意的捏造的权值被转换成磁盘页面单位。 如果你想试验这些东西,请参阅在 postgresql 7.3 管理员手册 里的运行时参数列表.)

有一点很重要:那就是一个上层节点的开销包括它的所有子节点的开销。 还有一点也很重要:就是这个开销只反映规划器/优化器关心的东西。 尤其是开销没有把结果记录传递给前端的时间考虑进去 --- 这个时间可能在真正的总时间里面占据相当重要的分量, 但是被规划器忽略了,因为它无法通过修改规划来改变之。 (我们相信,每个正确的规划都将输出同样的记录集。)

输出的行数有一些小处理,因为它不是 查询处理/扫描过的行数 --- 通常会少一些, 反映对应用于此节点上的任意where子句约束的选择性估计. 通常而言,顶层的行预计会接近于查询实际返回,更新,或删除的行数

下面是几个例子(用的是经过vacuum analyze后的回归测试数据库以及 7.3 的开发代码):

regression=# explain select * from tenk1;
query plan
-------------------------------------------------------------
seq scan on tenk1 (cost=0.00..333.00 rows=10000 width=148)

这个例子就象例子本身一样直接了当。如果你做一个

select * from pg_class where relname = 'tenk1';


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons