在典当行业务中,客户典当、出售或购买物品。每当客户典当、出售或购买物品时,就会创建一份指定客户信息、物品以及条款和条件的合同。
每个合同最多允许 6 个项目。如果超过 6 个,则必须将它们拆分为单独的合同。此限制的原因是因为每个打印表格只能存在一个唯一的合同。该表单为 8.5 x 5.5 英寸(半页大小),因此每个表单上只能容纳 6 个项目描述。从法律上讲,我们不能为同一份合同提供第 1 页(共 2 页)。
属于合同的所有项目都分配有批次序列号。这个批号也恰好是合同号。无论是典当、买卖合约,手数都会增加。每种类型的合同都将维护自己的收据序列号。可视化一个单独的典当合同垫,右上角有一个收据编号,一个单独的购买垫和一个单独的销售垫。
买卖是最终的!
但是,客户可以为其活跃的典当支付利息,在这种情况下,客户向收银员提供其原始收据的副本以及利息支付。然后,针对相同的典当物品(即具有相同的批号)发出新的收据,显示新的到期日,而原始或之前的收据被取消并被收银员归档。
当客户赎回他们的典当时,不会发出新的收据。顾客在收据上签字,说当典物品已退还给他们,收据被收银员取消并归档。
当其他客户典当物品或支付利息时,新的收据被写入并提供给客户。
编辑:如果典当行不为每笔利息支付提供新的收据,而只是用支付利息的日期、金额和新的到期日更新原始合同,那么我们就不会出现并发症!但是,我们有一个典当收据编号,有时会增加,有时不会增加,这取决于对每个典当进行的交易类型。
以下是一段时间内典当交易的示例:
CUSTOMER TRANSACTION DATE/TIME TRANSACTION TYPE RECEIPT#
-------- --------------------- ---------------- --------
Frank Oct-28-2012, 9:00 am New Pawn, Lot#501 P12345
Mark Oct-28-2012, 9:05 am New Pawn, Lot#502 P12346
Jeff Oct-28-2012, 9:20 am New Pawn, Lot#503 P12347
...
(several other new pawns, which increment the lot and receipt numbers, and
interest payments which only increment the receipt numbers.)
Mark Nov-26-2012, …
Run Code Online (Sandbox Code Playgroud) Informix 11.70.TC4DE:
CREATE TABLE cluster_tbl
(
fk_id INT,
data CHAR(2048)
);
LOAD FROM "presorted.ld" INSERT INTO cluster_tbl;
CREATE UNIQUE CLUSTER INDEX cl_idx ON cluster_tbl(fk_id);
Run Code Online (Sandbox Code Playgroud)
{###}
CREATE TABLE noncluster_tbl
(
fk_id INT,
data CHAR(2048)
);
LOAD FROM "presorted.ld" INSERT INTO noncluster_tbl;
CREATE UNIQUE INDEX ncl_idx ON noncluster_tbl(fk_id);
Run Code Online (Sandbox Code Playgroud)
{###}
UPDATE STATISTICS;
Run Code Online (Sandbox Code Playgroud)
我的理解是,集群索引本质上与对加载文件进行预排序、将其插入表中并为外键列创建索引相同。
我创建了两个表,每个表都加载了 200 万行相同的数据,并按外键预先排序。但是,一个表在 fk_id 上有一个聚簇索引,另一个表在 fk_id 上有一个非聚簇索引。
与具有非集群索引的相同表/数据相比,在维护或访问具有集群索引的表中的数据时,树结构或额外开销是否有任何差异?