日期:2011-05-02 15:44:00 来源:本站整理
MySQL文件系统先睹为快(2)[MySQL防范]
本文“MySQL文件系统先睹为快(2)[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
5、其他的特点:
在第一步开辟中实现的还只是只读,很快会有能读写的版本出来.
目前的筹划是把数据库对象映射成文件和目录对象.让我们来看看
例子:
--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/
标记衔接到主键:
/mnt/mysql/mydata/.keys/.primary_key/
实际上指向
/mnt/mysql/mydata/.keys/invoice_id/
还有一些躲藏文件供应键范例:
/mnt/mysql/mydata/.keys/invoice_id/.type
/mnt/mysql/mydata/.keys/payee/.type
第一个文内容为:¨PRIMARY KEY¨ 第二个为 ¨KEY¨ .
别的还可以用索引来排序记录,假如读取下面的目录:
/mnt/mysql/mydata/.keys/payee/asc/
PHP 的readdir() 函数就以升序返回数据的标记衔接.
别的还有一些全局函数:
/mountpoint/.version
/mountpoint/.last_insert_id
/mountpoint/.uptime
/mountpoint/database/.raid (0/1)
/mountpoint/database/.type (ISAM/MyISAM/HEAP/DBD)
/mountpoint/database/.tables
/mountpoint/database/table/.created
/mountpoint/database/table/.last_updated
/mountpoint/database/table/.last_checked
/mountpoint/database/table/.count
以上是“MySQL文件系统先睹为快(2)[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论