使用 MySQL 存储 URL 值的最佳方式是什么?
我正在考虑将 URL 值存储在数据库中,但我知道有些 URL 有时会变得非常长。我认为我的MySQL数据库是5.0版本。
我正在考虑使用。
VARCHAR(255)
但这只能持续这么长时间。所以我应该使用。
TEXT
I was thinking of storing URL values in my database but I know some URL's sometimes get ridiculously long. I think my MySQL Database is Version 5.0.
I was thinking of using.
VARCHAR(255)
but this will only work for so long. So should I use.
TEXT
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
MySQL 5.0 中 VARCHAR 的最大长度为 65536,因此您不限于 255。
The maximum length of a VARCHAR in MySQL 5.0 is 65536, so you're not limited to 255.
最大网址长度对于不同的浏览器是不同的。最好的办法是决定您希望支持的长度,然后在 VARCHAR 上设置大小(如果它适合 VARCHAR 最大长度)。如果您需要使用 TEXT,请询问原因。
Maximum URL lengths are different for different browsers. Your best bet is to decide on the length you wish to support and then set the size on a VARCHAR if it will fit VARCHAR max length. If you need to use TEXT, ask why.
不要使用 5.0.0 或任何 .0 版本。那甚至还没有作为 GA 发布。
您的问题的答案取决于您是否想要对其进行索引或索引的程度。您可能想要对其建立索引,但您可以使用前缀索引,这将节省索引中的大量空间,并且几乎具有同样的选择性。缺点是,如果您想按顺序对 URL 进行排序,前缀索引将无法做到这一点,因此需要进行文件排序。
Do not use 5.0.0, or indeed any .0 version. That wasn't even released as GA.
The answer to your question depends if, or how much, you want to index it. You'll probably want to index it but you can use a prefix index which will save loads of space in the index and be almost as selective. The downside is that if you wanted to sort the URLs into order, a prefix index won't do it so it will need a filesort.