Url长度不一,Mysql如何存储呢?
因为我需要把url作为惟一索引来使用的,后期用来作查询,加短索引我觉的意义不大。
有没有可以把长字符串转成短字符串或数字来存储的好方法(或者其它方式也可以),还是说用Mysql存储本身就是一个错误的选择呢?
Url长度不一,Mysql如何存储呢?
因为我需要把url作为惟一索引来使用的,后期用来作查询,加短索引我觉的意义不大。
有没有可以把长字符串转成短字符串或数字来存储的好方法(或者其它方式也可以),还是说用Mysql存储本身就是一个错误的选择呢?
加多一个字段 url_md5 将 md5(url) 的值存入这个字段,给 url_md5 这个字段设置唯一索引。查询的时候,将要查询的 url 取 md5: select * from table_name where url_md5=URL_MD5。
这种方式需要注意的点就是,可能 url 不同,但是 md5(url) 相同,这种情况只需要再判断下数据表记录集里面的 url 和你需要的 url 是否相同即可。
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
Url做索引本来就不应该,字符串索引一些方面如果没做好会非常的慢了,何况你还是Url。
如果你还是要Url存储并且Url很长,并且想把字符串缩短可以使用 短域名Api接口,去缩短Url
访问效果还是一样的。
不管多长的Url都会被缩短成固定长度。
百度短网址(页面带有API):http://dwz.cn/