WEB开发网
开发学院数据库MySQL MySQL中文参考手册 - MySQL文件系统 阅读

MySQL中文参考手册 - MySQL文件系统

 2010-01-05 15:54:46 来源:WEB开发网   
核心提示:三、性能如何?在发表这篇文章的时候,这个文件系统还处于原型开发阶段,MySQL中文参考手册 - MySQL文件系统(2),因此,速度还不是很理想,最后等数据,可以通过符号连接来实现了:/mountpoint/database/table/primary_key/.max或者/mnt/mysql/mydata/invoi

三、性能如何?

在发表这篇文章的时候,这个文件系统还处于原型开发阶段,因此,速度还不是很理想。 如果到了正式发布的时候,一些数据库功能会比使用 SQL 要快。 当然,很多还是没法和 SQL 相比,无论是性能上还是功能上,很多复杂的查询依然需要通过SQL 语句来完成。但 是,这样节省了很多开发和培训的时间,所以在效率上来说也是一种节省。

四、支持的表类型:

目前这个文件系统支持所有的表类型:MyISAM,DBD,HEAP,ISAM。

五、其他的特色:

在第一步开发中实现的还只是只读,很快会有能读写的版本出来。目前的计划是把数据库 对象映射成文件和目录对象。让我们来看看例子:

--8<-----------------------------
#建立表
CREATE TABLE invoice (
invoice_id int(10) unsigned NOT NULL auto_increment,
invoice_no int(10) unsigned DEFAULT '0' NOT NULL,
payee char(40) DEFAULT '' NOT NULL,
PRIMARY KEY (invoice_id),
KEY payee (payee)
);
# 插入数据
INSERT INTO invoice VALUES (1,100,'Company AB');
INSERT INTO invoice VALUES (2,101,'Company CD');
INSERT INTO invoice VALUES (3,102,'Company EF');

--8<-----------------------------

因为 MySQL 没有办法使用记录号,所以我们必须建立主键。 就有了以下的目录结构:

/mountpoint/database/table/primary_key/field

这样,每个列出现在不同的文件行之中,文件树的结构如下:

/mnt/mysql/mydata/invoice/1/invoice_id
/mnt/mysql/mydata/invoice/1/invoice_no
/mnt/mysql/mydata/invoice/1/payee
/mnt/mysql/mydata/invoice/2/invoice_id
/mnt/mysql/mydata/invoice/2/invoice_no
/mnt/mysql/mydata/invoice/2/payee
/mnt/mysql/mydata/invoice/3/invoice_id
/mnt/mysql/mydata/invoice/3/invoice_no
/mnt/mysql/mydata/invoice/3/payee

另外,还有第二个办法可以使用:

/mountpoint/database/table/.table

/mountpoint/database/table/primary_key/.record
/mnt/mysql/mydata/invoice/.table
/mnt/mysql/mydata/invoice/1/.record
/mnt/mysql/mydata/invoice/1/invoice_id
/mnt/mysql/mydata/invoice/1/invoice_no
/mnt/mysql/mydata/invoice/1/payee
/mnt/mysql/mydata/invoice/2/.record
/mnt/mysql/mydata/invoice/2/invoice_id
/mnt/mysql/mydata/invoice/2/invoice_no
/mnt/mysql/mydata/invoice/2/payee
/mnt/mysql/mydata/invoice/3/.record
/mnt/mysql/mydata/invoice/3/invoice_id
/mnt/mysql/mydata/invoice/3/invoice_no
/mnt/mysql/mydata/invoice/3/payee

这些文件是隐含的,以防重复,主要用来方便地通过文本文件浏览器来查看。

现在,在那些需要使用SQL 语句搜索最小,最大,最后等数据,可以通过符号连接来实

现了:

/mountpoint/database/table/primary_key/.max

或者

/mnt/mysql/mydata/invoice/invoice_id/.max

或者指向

/mountpoint/database/table/field

/mnt/mysql/mydata/invoice/3

同样的就可以返回一行的 min/max/sum/avg 等数值。

这能很快并且很容易地实现。

/mnt/mysql/mydata/.keys/

/mnt/mysql/mydata/.keys/invoice_id/

/mnt/mysql/mydata/.keys/payee/

Tags:MySQL 参考

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接