网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.在Windows xp系统上安装了SQL se.
.SQL Server通用分页存储过程:利.
.个人经验总结:处理海量数据的经.
.讲解SQL Server安装sp4补丁报错的.
.在SQL中为安装程序填加计数器注册.
.Win2003系统安装SQL Sever2000后.
.对外连接的表加上条件后将会使外.
.SQL SERVER2000中订阅与发布的具.
.自己改写的一个sql server 2000的.
.循环插入一定时间范围内的随机日.
.在SQL2k降序索引上使用中bug.
.SQL Server 某些条件下求某日的日.
.实例讲解误删除一部分重要数据的.
.使用存储过程时一个错误的解决方.
.SQL Server中查询时显示行号的方.
.实现上千万条数据的分页显示.
.SQL Server性能分析参数 .
.SQL Server 2005安装失败的处理方.
.一個Select出一個表中第N條記錄的.
.面向对象设计过程中必须遵守的相.

如何用RAMDISK来提高PostgreSQL访问速度

发表日期:2008-5-8


这篇论坛文章(赛迪网)主要介绍了使用RAMDISK提高PostgreSQL访问速度的具体方法,详细内容请参考下文。

RAMDISK作用于硬盘空间的内存。无论什么时候你使用RAMDISK,实际上你是在使用内存而不是硬盘。在这一点上既有优点又有缺点。最基本的,最大的优点是你是在使用内存,你所做的一切都会快一些,因为硬盘的速度较内存慢。最大的缺点是如果你改变了数据库服务器的内容并且重新启动机器时,所做的一切改动都将丢失。

对于数据库Server PostgreSQL来说, 如果你将所有的数据库调入内存将会大大提高它的速度。  

建立一个RAMDISK /Test  

将默认RAMDISK中的一个指向目录/Test。

mkdir -p /Test

mkfs -t ext2 /dev/ram0

mount /dev/ram0 /Test

如果这一步失败的话,也许是因为你所编译的内核不支持RAMDISK。你应该将内和配置选项中的CONFIG_BLK_DEV_RAM 一向置为可用的状态。

以上的步骤只能给你提供一个4M大小的RAMDISK。The above gives you a RAMDISK with available space of just under 4Mb. 请参看 RAMDISK Article 一文,看看如何将其改变成50M大小。

为 PostgreSQL 建立一个RAMDISK

理论上你应该优良两个数据库server。一个是你可以进行修改的,另一个是在RAMDISK上的拷贝。实现这一点你应该用到"pg_dump" 或是 "pg_dumpall"命令。

注意: 我们假定你已经在文件中进行过设置是你的RAMDISK大于你的数据库的大小。如果你想得到它的近似的大小可以用命令"cd /var/lib/pgsql; du ".

无论怎样,使你的postgresql安装在 "/var/lib/pgsql" 并且将他们放到内存中,这样做:

### Stop the current postgresql server

/etc/rc.d/init.d/postgres stop

### rename the current directory

mv /var/lib/pgsql /var/lib/pgsql_main

#### Create a directory to have our RAMDISK on

mkdir -p /var/lib/pgsql_memory

#### change the ownership of the new directory to postgres or whatever

#### the actual owner is.

chown postgres /var/lib/pgsql_memory

#### Make an alias or link to the original name, /var/lib/pgsql

ln -s /var/lib/pgsql_memory /var/lib/pgsql

#### Format the RAMDISK

mkfs -t ext2 /dev/ram0

#### Mount the RAMDISK to the postgresql directory

mount /dev/ram0 /var/lib/pgsql_memory

#### Copy everything from the main directory into the RAMDISK

tar -C /var/lib/pgsql_main -cp . | tar -C /var/lib/pgsql_memory -xp

### Start the current postgresql server

/etc/rc.d/init.d/postgres start  

关于速度Comments on the speed  

我已经把postgresql分别在RAMDISK上和不在RAMDISK上进行过速度方面性能的测试。有些时候,在RAMDISK上的postgresql的速度将会快出50%。当然有些时候不是这样的。

我注意到,当系统对数据设置缓冲时,系统性能的提高并不很大只有大约10%到20%。当有大量新的数据被同时输入数据库时,系统的性能有着显著的提高。

在使用RAMDISK中最大的好处就是你可以强制你的数据库留在内存中而避免使用硬盘。如果你不使用RAMDISK,你的数据库将可能被换出内存。当它被使用时再被从硬盘上调入内存。

结论:

对于linux环境下,当一个文件被读取时,它将被保存在内存中直到内存空间被其他程序要求使用。这样便是缓存。也许这是一个解决之道。如果不是这样,当我的机器有访问的时候,会听见硬盘的声音。利用RAMDISK时数据库放在内存中而不会被到处内存。如果经常用数据库server的话,要是我就把它放在内存中。

在数据库上使用RAMDISK的好处就是可以得到高速度,简单而明快。对于那些只读的数据库来说,这可是一个非常棒的主意。

它的不足就是你必须知道如何管理,并且在你进行修改时,最好确信你已经做了修改的备份。

上一篇:在设计数据库时如何选择正确的数据类型 人气:1015
下一篇:动态SQL的编译原理与基本开发思想的关系 人气:952
浏览全部PostgreSQL的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐