闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕濠氬箯閿燂拷 (0) +1 闂傚倷娴囧畷鍨叏瀹ュ拋鍚嬮柛鈩冾殢娴硷拷 (0) +1 闂傚倸鍊搁崐鎼併偑鐎涙ḿ顩查柣鎴f缁狀垶鏌ㄩ悤鍌涘 (0) +1
闂傚倸鍊峰ù鍥Υ閳ь剟鏌涚€n偅宕岄柡宀€鍠栭、娑樷堪閸愮偓姣夋俊鐐€戦崕鏌ュ垂閸ф钃熼柣鏃囥€€閸嬫挸鈽夊▍顓т簼閹便劑宕惰閺€鑺ャ亜閺囩偞顥為悗姘炬嫹闂傚倸鍊风粈渚€骞栭銈嗗仏妞ゆ劧绠戠壕鍧楁煕閹邦垼鍤嬮柤鏉挎健閺屾稑鈽夊▎鎰▏缂傚倷璁查弲鐘诲蓟閻旂⒈鏁嶆繝濠傚枤閺嗩厼顪冮妶鍐ㄥ姷闁瑰嚖鎷�>>

正在阅读:MySQL文件系统先睹为快(2)MySQL文件系统先睹为快(2)

2004-04-01 13:26 出处:eNet学院 作者:余夕 责任编辑:pjl
五、其他的特色:   在第一步开发中实现的还只是只读,很快会有能读写的版本出来。   目前的计划是把数据库对象映射成文件和目录对象。让我们来看看 例子: --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

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品
闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鏃堛€侀弽顓炲耿婵$偟绮弫鐘绘⒑闁偛鑻晶鎾煙椤旀娼愰柟宄版嚇瀹曘劍绻濋崒娆愭▕濠电姷顣藉Σ鍛村磻閹捐绠柨鐕傛嫹闂傚倸鍊烽悞锕傚箖閸洖纾块柟鎯版绾剧粯绻涢幋娆忕仼闁哄嫨鍎甸幃姗€鎮欓弶鍨彑婵炲瓨绮嶇划鎾诲蓟濞戙埄鏁冮柨婵嗘椤︺儵姊洪崨濠冾棖闁瑰嚖鎷�