一个 id 对应于一个图片 url 链接,现在是图片 url 会重复,现在只要新的 id 对应 url 有重复则继承之前给 url 打过的标签,想过用 mysql 的索引或者唯一键,但是图片 url 比较长,并且是 varchar 的,想问下有没有好的办法
一个 id 对应于一个图片 url 链接,现在是图片 url 会重复,现在只要新的 id 对应 url 有重复则继承之前给 url 打过的标签,想过用 mysql 的索引或者唯一键,但是图片 url 比较长,并且是 varchar 的,想问下有没有好的办法
1
dswyzx Oct 3, 2019
我以前写的爬虫.url 直接 md5 后存,但只做是否重复判断用.
|
3
mumbler Oct 3, 2019 via Android
把 url 的 md5 建个字段存下来,主键唯一
|
4
ebony0319 Oct 3, 2019 via Android
url 过长问题:?id=abc123&code=5478
多设计一列 code,code 完全随机,可以重复。 |
5
hakono Oct 3, 2019 via iPhone
你这逻辑实际上是 url 的 md5 值和 id 一对多关联
具体怎么设计表你随便找找一对多的表设计思路就知道了 mysql 下一个方法就是 单独一个表,url 的 md5 做主键唯一,然后另外一个 text 的字段存放字符串形式数组,字符串可以逗号分割也可以转成 json 但这样一个坏处就是没法从 id 反查到 url 的 md5 (如果你没这需求就不用在意这个坏处了) 当然上面是歪门邪道。。。 最简单方法就是给 id 那个表添加个 url md5 的字段然后加索引,delect id,urlmd5 from ids where urlmd5 =xxxxxxxxxxxxxxx 就能搜出你要的信息了 |