mysql 存储 url_Mysql如何存储Url字符串

Url长度不一,Mysql如何存储呢?

因为我需要把url作为惟一索引来使用的,后期用来作查询,加短索引我觉的意义不大。

有没有可以把长字符串转成短字符串或数字来存储的好方法(或者其它方式也可以),还是说用Mysql存储本身就是一个错误的选择呢?

回复内容:

Url长度不一,Mysql如何存储呢?

因为我需要把url作为惟一索引来使用的,后期用来作查询,加短索引我觉的意义不大。

有没有可以把长字符串转成短字符串或数字来存储的好方法(或者其它方式也可以),还是说用Mysql存储本身就是一个错误的选择呢?

Url做索引本来就不应该,字符串索引一些方面如果没做好会非常的慢了,何况你还是Url。

如果你还是要Url存储并且Url很长,并且想把字符串缩短可以使用 短域名Api接口,去缩短Url

访问效果还是一样的。

原网址: http://music.baidu.com/song/124380645

短网址: http://dwz.cn/Kn8Ep

不管多长的Url都会被缩短成固定长度。

百度短网址(页面带有API):http://dwz.cn/

短网址处理下就好了,节省容量,不过还是建议存储短网址的同时再保存一份原网址,

你把Url字符串作为唯一索引就是个错误的方案

可以尝试维护一个key-value的表,然后将key写入你需要保证唯一的字段,字段用int或者bigint,加唯一索引

加多一个字段 url_md5 将 md5(url) 的值存入这个字段,给 url_md5 这个字段设置唯一索引。查询的时候,将要查询的 url 取 md5: select * from table_name where url_md5=URL_MD5。

这种方式需要注意的点就是,可能 url 不同,但是 md5(url) 相同,这种情况只需要再判断下数据表记录集里面的 url 和你需要的 url 是否相同即可。

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值