我们都看过关于数据库的性能测试,但大部分都只是测试一两个基本操作,本文将会就一个实际算法进行数据库性能测试, 选用的数据库是iBoxDB, 在进行测试前,先介绍一下火车售票算法.
一个快速的售票算法是先进行配票,这里的配票是指对各站点预先分配一些计划的电子票,如果乘客想购买武汉-长沙票,就到武汉-长沙票的箱子里把计划的电子票移到已售的箱子里。销售一段时间后或某个箱子的票供不应求时,把全部未售出的计划电子票收回,按第一次销售的情况调整分配方式,再进行第二次配票。
这算法的第一次配票,可以根据各车站的规模,也可以平均分配,也可以人工输入到电子表格中,再读入到计算机中。第二次及以后的配票可以直接根据上一次销售中各个箱子的出票速度调整。
下面使用操作系统自带的文件系统实现此算法,进行具体说明.
假设有一列火车经北京-武汉-长沙 三站, 共有4个座位. 哪么它的首次配票可以是
1号座 北京-至-长沙
2号座 北京-至-长沙
3号座 北京-至-武汉
4号座 北京-至-武汉
3号座 武汉-至-长沙
4号座 武汉-至-长沙 所以在操作系统中创建三个文件夹
北京至长沙,
北京至武汉,
武汉至长沙 , 然后在文件夹中创建对应的电子票。结果如下图:
如果有一个乘客需要购买2张 武汉至长沙 的票, 就从 武汉至长沙 目录把两张票移入已售目录
此时首次配票余下
1号座 北京-至-长沙
2号座 北京-至-长沙
3号座 北京-至-武汉
4号座 北京-至-武汉
武汉至长沙已经无票,根据首次配票的销售情况,收回首次未售出的电子票,然后进行第二次配票计算, 此例子中可以把 1号座 北京-至-长沙 分拆为两张,所以第二次配票的结果如下
1