关于哈希表数据比对的有关问题,求赐教
关于哈希表数据比对的问题,求赐教
现有一个表,里面装的是客户的信息和编号,里面的数据除了主键id都是字符串,当客户端将信息发到服务器端的时候,要求服务器端在表中比对次用户是否与表中数据重复,如果不重复则写入,就是这么个过程
老大说用哈希表来实现,因为每个比对的话效率太低,用哈希表可以提高效率,但是小弟对哈希是一窍不通,不知有哪位大神可以讲讲思路,和大致的做法
------解决思路----------------------
你们老大逗你那。
这个就是sql在数据库检索id是否存在,不存在就加入。
id是主键,数据库检索算法非常快。
------解决思路----------------------
你老板让你实现内容的摘要,参考 java 类的hashCode()
内容相同,hash值一定相同,hash值相同,内容可能不相同(小概率事件),这样就可以使用int的hash值做快速内容比较。
数据库中,增加一个int类型的hash值字段,加索引。将所有业务信息(排除主键id,生成时间这样非业务数据)计算hash值,简单的方法是,你把业务数据做成一个java类,使用eclipse 菜单 ->source ->generate hashCode() and equals
收到提交信息后,先计算hash值,然后用hash值去数据库中查询 ,查询结果为多个时可以再做精确比较
------解决思路----------------------
重不重复的条件是什么?
比如你有4个字段
id,name,pass,mid
计算重复的方式就是 name 和 pass 数据库里面有了。就是重复
那么程序就是
hashcode 实现 name + pass的hashcode,
然后把hashcode的值放入mid里面。
然后后来者 只要根据hash去和数据库里的 mid去做比较。
现有一个表,里面装的是客户的信息和编号,里面的数据除了主键id都是字符串,当客户端将信息发到服务器端的时候,要求服务器端在表中比对次用户是否与表中数据重复,如果不重复则写入,就是这么个过程
老大说用哈希表来实现,因为每个比对的话效率太低,用哈希表可以提高效率,但是小弟对哈希是一窍不通,不知有哪位大神可以讲讲思路,和大致的做法
------解决思路----------------------
你们老大逗你那。
这个就是sql在数据库检索id是否存在,不存在就加入。
id是主键,数据库检索算法非常快。
------解决思路----------------------
你老板让你实现内容的摘要,参考 java 类的hashCode()
内容相同,hash值一定相同,hash值相同,内容可能不相同(小概率事件),这样就可以使用int的hash值做快速内容比较。
数据库中,增加一个int类型的hash值字段,加索引。将所有业务信息(排除主键id,生成时间这样非业务数据)计算hash值,简单的方法是,你把业务数据做成一个java类,使用eclipse 菜单 ->source ->generate hashCode() and equals
收到提交信息后,先计算hash值,然后用hash值去数据库中查询 ,查询结果为多个时可以再做精确比较
------解决思路----------------------
重不重复的条件是什么?
比如你有4个字段
id,name,pass,mid
计算重复的方式就是 name 和 pass 数据库里面有了。就是重复
那么程序就是
hashcode 实现 name + pass的hashcode,
然后把hashcode的值放入mid里面。
然后后来者 只要根据hash去和数据库里的 mid去做比较。