MySQL-mysql如何给字段的后几个字符加索引而不是给整个字段加

发布于 2017-01-20 11:57:08 字数 417 浏览 1445 评论 2

表里边有一个字段image_url,想给他加索引但是这个字段有很多内容是重复的如下:
image_url
http://img1.douban.com/lpic/s10419031.jpg
http://img1.douban.com/lpic/s10419532.jpg
http://img2.douban.com/lpic/s10412033.jpg
http://img2.douban.com/lpic/s10412034.jpg
给整个字段加索引会不会有问题啊?
能不能就只给这个字段的后13个字符加索引啊,因为这13个字符才是我查找用的数据?
还有加上以后用这个索引的时候,要注意哪些东西?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灵芸 2017-10-15 08:59:00

据我所知,MYSQL没有后缀索引(如果说错请指正);
如果真相要对这个字段添加索引又不想加整个字段,给你出歪招,程序可能稍微多一步。
创建字段image_url 按你的字符数添加前缀索引。存取该字段时反转字符传存储。结果如下:
gpj.13091401s/cipl/moc.nabuod.1gmi//:ptth
查询的时候反转一下就可以了。

不过我推荐你将最后要索引的这个字符拆出来单独存储,加索引。

想挽留 2017-02-27 02:53:39

给 image_url 加前缀 索引,但是我的存储方式不同:
s10419031.jpg|http://img1.douban.com/lpic/
查询时条件正常写就可以了,操作的话更方便一些。

给整个字段加索引 也不会有问题,但是索引文件比较大些,比较浪费磁盘空间,影响insert操作的速度。只相对于加前缀索引而言;

另外建议:如果图片是存在不同的服务器上的话,在图片名上加区别就可以,举例:

s10419031_A.jpg
s10412034_B.jpg

仅存图片名称就可以了,查询出来根据根据规则就知道该拼接哪个地址。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文