使用PHP获取任何给定输入的唯一哈希值

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了使用PHP获取任何给定输入的唯一哈希值脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要定期检查许多(100.000)行并检查它们的当前状态是否与另一个数据库中的最新存储版本相同.有没有办法为行匹配它们的某种唯一值,或者我是否必须逐列手动检查行?

数据库sql Server 2005数据库,该表没有用于创建,更新和/或删除操作的时间戳机制.我环顾四周检查是否有可用的行信息,但唯一可用的是伪列%% lockres %%和row information,但是它不提供日期和/或时间信息.

我的工具有限,但我有一个运行apachePHP的Web服务器,可以直接访问源数据库和目标数据库.我只对源数据库有读权限.

什么是比较数据和维护源数据库性能的最有效方法.

解决方法

由于您无权访问数据库,我建议使用“替代”数据库来存储信息.我可以想到几个不同的方法,每个方法都有不同的优点和缺点.

方法1

对于在表外使用哈希进行修改检查需要总是再次查询所有数据,使其操作非常慢,我会使用单独的表来存储哈希值,你可以随时首先检查值是否匹配然后更新它.

基本上在插入数据时,您可以根据该数据计算本地哈希值,然后将其与辅助数据库进行比较,如果它们不匹配,您就会知道数据不同步,并且可以将数据更新到真实数据库,将新哈希保存到帮助程序数据库.

优点:

>只对真实数据库进行必要的更新

缺点:

>比在数据库中使用哈希值慢

方法2

始终更新真实数据库中的记录.这是最简单解决方案,除非您需要同时更新数千条记录并且远程数据库可以处理额外负载,否则性能影响不应该那么大.这只是简单的更新操作.

优点:

>简单易行

缺点:

>额外加载到真实数据库

方法3

只需获得修改远程数据库的权限.如果你要长时间保持这个东西,这可能是将来最好的事情.

优点:

>它会最快

缺点:

>您需要获得修改表的权限.

虽然我说数据库,最简单的可能只是纯文本文件,sqlITe数据库或任何东西,它可以让你处理本地操作.

脚本宝典总结

以上是脚本宝典为你收集整理的使用PHP获取任何给定输入的唯一哈希值全部内容,希望文章能够帮你解决使用PHP获取任何给定输入的唯一哈希值所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。