存钱罐与数据库


Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58

存钱罐,平时存放5毛,1毛,1块的零钱,现在找出所有面值为5毛的。
方案1:存钱罐只有一个,所有零钱都在其中,在里面翻找全部零钱,找出所有5毛的。对应全表扫描。
方案2:将面值分类,存放到不同的存钱罐中,找时直接拿出即可。只是要增加额外的存钱罐,并且在放零钱时要注意放到对应的存钱罐中。对应数据库索引的存储空间,及在插入更新时要对索引进行操作,不过换来的是查询速度的提升。

当存钱量上升到多倍时,找5毛的硬币所费时间并没有增长多少,所花费的时间在于取出数量。即:数据量增加,查找时间并不会增长多少,只是增加了I/O时间。