1
5
您可能会想到的一件事是将URL的主机名和协议部分存储在单独的表中,并通过键引用它。这对于以后获取特定主机的所有URL以及帮助解决字符串长度问题也很有用。 例如:
|
2
9
实现这一目标的三个好方法: 1)使用文本而不是varchar。为了确保唯一性,还必须创建一个单独的varchar列来存储md5()或sha1()哈希,并添加一个唯一索引或主索引。这有一个不幸的结果,即需要额外的磁盘搜索来检索URL,但这取决于您的用例,这可能是正常的。 2)将varchar与二进制排序规则一起使用,并使用compress()压缩URL。 3)我打前两个的时候忘了第三个。GRR… |
3
0
我所知道的最常见的做法是使用带有冲突控制的哈希算法,只需使用某种快速单向编码,它将在URL上产生非常低的冲突。 尝试切掉你知道在所有URL中都是相同的部分(例如http://、www等…)。如果URL都是你的域的一部分,切掉它。 否则,我会考虑这个问题,并尝试找到一种不同的方法来完成你想要完成的任何事情。我认为拥有一组唯一的URL确实可以解决其他一些问题。 |
hello_programmers · Mysql从其他表输出一列 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
Kugelfisch · 用php为数据库加密数据 1 年前 |