当前位置: 技术问答>linux和unix
我只想存储客户名和ID号,需要用数据库吗?
来源: 互联网 发布时间:2015-06-01
本文导语: 现在给老程序加个新功能,需要根据客户的名字找到它对应的ID号,这个ID号是唯一的,客户名是可能重复的。我开始想搞个文件将(名字+ID)信息存储就可以了,但是这样一来检索速度太慢,二来文件可能会很大(ID的...
现在给老程序加个新功能,需要根据客户的名字找到它对应的ID号,这个ID号是唯一的,客户名是可能重复的。我开始想搞个文件将(名字+ID)信息存储就可以了,但是这样一来检索速度太慢,二来文件可能会很大(ID的范围是000000~999999)。
考虑用数据库,但是在Linux下没这方面经验,想跟高手讨教,这种应用除了数据库外,有其他好方法解决吗?如果只能用数据库,该用什么数据库呢?
我记得以前在哪本书上看过说linux自带了一个很简单的数据库,但是忘了叫什么了,非常简陋的数据库,但是够我用了,如果哪位有印象,也希望告诉我,多谢!
考虑用数据库,但是在Linux下没这方面经验,想跟高手讨教,这种应用除了数据库外,有其他好方法解决吗?如果只能用数据库,该用什么数据库呢?
我记得以前在哪本书上看过说linux自带了一个很简单的数据库,但是忘了叫什么了,非常简陋的数据库,但是够我用了,如果哪位有印象,也希望告诉我,多谢!
|
不要用数据库,这未免牛刀杀鸡了。
(1)可以用LDAP(如果你对它熟悉的话)
(2)干脆你自己设计一个数据结构存储,我推荐使用Hash表。Hash表保存为一个文件,启动时将Hash表文件载入内存,形成一个Hash表,查找客户,Hash客户名,找到ID号;退出时,将Hash表保存为Hash文件。
(1)可以用LDAP(如果你对它熟悉的话)
(2)干脆你自己设计一个数据结构存储,我推荐使用Hash表。Hash表保存为一个文件,启动时将Hash表文件载入内存,形成一个Hash表,查找客户,Hash客户名,找到ID号;退出时,将Hash表保存为Hash文件。
|
linux下有一个DBM库,可以用来开发简单的数据库,不过不支持SQL,apue书上有介绍,
不过我觉得文件也可以吧,用GAWK来分析文件不知道速度是不是很慢
不过我觉得文件也可以吧,用GAWK来分析文件不知道速度是不是很慢
|
用linux自带的db就行了
#include
#include
#include
#include
#include
#include
|
如果老程序用了database,就用
如果没用,一个小文件就行了。
如果没用,一个小文件就行了。
|
用固定大小的结构体来保存id和名字,
存储在文件里,每次读取N个id和名字,对比,
再读下面N个,
如此反复即可
还可建立索引文件,速度可以更快
存储在文件里,每次读取N个id和名字,对比,
再读下面N个,
如此反复即可
还可建立索引文件,速度可以更快