爱飞 发表于 2015-1-16 22:20:13

MSSQL网页编程之linux数据库年夜比拚(一)

对于update操作,event中依次记录旧行,新行的值。本文简介
当第一次有人倡议我为LinuxPlanet写数据库办理体系的对照时,我摇了点头,我历来没做过如许的对照,可是厥后,我想:有何不成?大概一种奇怪无邪的办法其实不坏。因而就有本文:一种全新目光看绚丽的Linux数据库天下。本文共4部分。

在这里对照的数据库办理器是收费的或有廉价的允许费,而且他们可在一切条理的Linux体系上运转,从低端硬件到高端多处置器服务器,他们已普遍地使用天下局限的临盆体系上。为了对照,我把我本人放在了运转典范的Linux呆板的地步,天天都由DBMS供应动力。

我将考查:

mSQL
MySQL
PostgreSQL
我将以一个这3个数据库体系的安装和设置的会商入手下手,然后我将在第2部分持续,经由过程用SQL的一个小数据库的计划,指出我碰着的坚苦和试图使数据库体系承受的差别,我也将注释一个程序的编码,它在数据库上实行各类的实在操纵,比方增添数据并发生报表,同时会商数据库在处置上的各类不同。这个客户程序针对一切3个数据库体系用C言语完成。为此,我必需不但进修一切体系SQLAPI,另有SQL。假如没有其他器材,这将一定饶有乐趣地看下往。

第三部分将包括一些实在的基准测试,作为夸奖。我已有了在Linux旧事组下款寓目关于数据库的基准测试了局没完没了的争辩的坚持嫌疑的兴趣,因而我将只测试客户程序做随机事变的工夫功能,既在幻想的前提下运转跑又经由过程多个并发历程的时分。当时我将已触及DBMS之间的年夜多半不同,因而你应当有了关于他们的刚强和弱项的一个优秀观点。

最初的部分将是你所等候的统统:结论、掩盖的特性、完成、在DBMS之间的API和功能不同。

可是如今,筹办深切数据库办理的王国的探险吧。

取得并安装PostgreSQL
位于PostgreSQL网站的软件大节,有一个FTP和HTTP镜像网站的列表,可从他们下载分发,也有定购DBMSCD的选择。机关并安装它是一个多步骤历程。

起首,假如你想要创建Postgresql的Perl言语绑定,在你体系上的Perl5可实行文件必需已知是perl5的名字。一般,这意味着你必要做一个标记毗连。

大概要做的最主要的事变是制造一个postgres用户。在我的体系上,这个命令可运转:
useradd-c“PostgreSQLAdministrator”-d/opt/postgresql-guserspostgres
在其他体系上,命令大概有所分歧。注重我假定postgres是在users组里。你大概对照喜好给数据库主管一个它本人的组。
假如不别的申明,一切别的安装步骤必要以用户postgres身份来做。
解开PostgreSQL下载包并进进源代码目次树:

tar-xvzfpostgresql-6.5.2.tar.gz
cdpostgresql-6.5.2

用root用户,创立PostgreSQL目次并把交给postgres用户:
mkdir/opt/pgsql
chownpostgres.users/opt/pgsql

进进源代码目次并设置软件包。我用以下选择:

./configure--prefix=/opt/pgsql--with-perl
举行机关和安装历程:
cd../doc
makeinstall
cd../src
makeall
makeinstall

如今是实行一些附加的体系设置的工夫了。

作为root,将下行
/opt/pgsql/lib
到场/etc/ld.so.conf并运转ldconfig。

安装Perl绑定,当用root登录后:
cdinterface/perl5
makeinstall

设置postgres账号。将以下行增添到.profile文件中:
PATH=$PATH:/opt/pgsql/bin
MANPATH=$MANPATH:/opt/pgsql/man
PGLIB=/opt/pgsql/lib
PGDATA=/opt/pgsql/data
exportPATHMANPATHPGLIBPGDATA
LC_COLLATE=C
LC_CTYPE=C
exportLC_COLLATELC_CTYPE

最初3行对init历程和大概某些测试是需要的试。对实践的用户,他们固然应当设置到得当的现场,可是每一个利用PostgreSQL的人最少必要有PGLIB和PGDATA的设置。

Source.profile文件:
source.profile
运转前期安装:
initdb
取得并安装MySQL
MySQL的最新版本可从MySQL下载页。有良多可选择的镜像站点。你必要实行以下步骤:

解开包并进进源代码目次树:
tar-xvzfmysql-3.22.26a.tar.gz
cdmysql-3.22.26a

设置软件包;我利用以下选项目:
./configure--prefix=/opt/mysql
机关它:
make
安装它;用root用户:
makeinstall
然后你必要设置安装:

作为root用户,创立受权数据库表:
scripts/mysql_install_db
作为root,启动服务器:
/opt/mysql/bin/safe_mysqld&

作为root,创立mysql用户:
useradd-c“MySQLAdministrator”-d/opt/mysql-gusersmysql
作为root,把安装树属权赋给mysql用户:
chown-Rmysql.users/opt/mysql

取得并安装mSQL
下载mSQL不比下载PostgreSQL或MySQL那样复杂,牵浞址⒏ 4Hughes手艺网页入手下手而且寻觅更进一步的指令。为了下载mSQL,起首必要在该站点注册而且经由过程一个基于CGI的下载体系,若有需要同意你在一些镜像站点间选择。机关和安装的mSQL的步骤以下:

解开包并进进源代码目次:
tar-xvzfmsql-2.0.11.tar.gz
cdmsql-2.0.11

发生方针界说:
maketarget
进进你平台的方针目次:
cdtargets/Linux-2.2.12-i586
设置软件包:
./setup
编纂site.mm;我将安装路径改成/opt/msql。
机关它:
makeall
作为root用户安装它:
makeinstall
在机关和安装的mSQL今后,你必要设置它:

作为root,创立msql用户:
useradd-c“mSQLAdministrator”-d/opt/msql-gusersmsql
作为root,把目次属权交给msql用户:
chown-Rmsql.users/opt/msql

这里我们讨论用binlog来实现闪回的方案。

乐观 发表于 2015-1-19 09:01:55

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

飘灵儿 发表于 2015-1-28 05:58:25

对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。

小妖女 发表于 2015-2-5 18:22:13

而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。

admin 发表于 2015-3-3 16:32:10

而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。

老尸 发表于 2015-3-11 12:26:00

理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识

金色的骷髅 发表于 2015-3-26 13:06:00

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。
页: [1]
查看完整版本: MSSQL网页编程之linux数据库年夜比拚(一)