gpt4 book ai didi

mysql - 从文本/url 快速生成数字 id "SELECT"

转载 作者:行者123 更新时间:2023-11-29 07:15:47 29 4
gpt4 key购买 nike

我有以下问题:

  • 我有一个提要捕获器,每半小时捕获一次来自不同来源的新闻。

  • 我只插入数据库中没有 URL 的条目(URL 用于查看记录是否已在数据库中)。

    即便如此,我还是会收到一些重复的条目,因为某些网站会报道相同的新闻(通常来自路透社等新闻来源)。我可以在插入期间查找这些重复的条目,但我认为这会进一步减慢插入时间。

    所以,我以后可以通过标题找到这些重复的条目。但我认为这种搜索很慢。然后,我的想法是从标题生成一个数字字段,然后通过这个数字搜索重复的标题。

  • 我可以使用哪种编码(我认为与 base64 相反)来对标题进行编码?

  • 我假设搜索重复数字比搜索重复单词快得多。这是真的还是假的?
  • 您对这个问题有更好的解决方案吗?

好吧,我不关心数据库中是否有重复的条目,我只是不想向用户显示。与 google 一样,它会过滤重复的结果,但如果您需要则显示。

希望我解释得很好。提前致谢。

最佳答案

填充 URL 和标题的 MD5 散列,并在其上构建一个 UNIQUE 索引:

CREATE UNIQUE INDEX ux_mytable_title_url ON (title_hash, url_hash)

INSERT
INTO mytable (url, title, url_hash, title_hash)
VALUES ('url', 'title', MD5('url'), MD5('title'))

要选择 Google(每个 title 一个结果),请使用此查询:

SELECT  *
FROM (
SELECT DISTINCT title_hash
FROM mytable
) md
JOIN mytable mo
ON mo.url_title = md.title_hash
AND mo.url_hash =
(
SELECT url_hash
FROM mytable mi
WHERE mi.title_hash = md.title_hash
ORDER BY
mi.title_hash, mi.url_hash
LIMIT 1
)

关于mysql - 从文本/url 快速生成数字 id "SELECT",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1227171/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com