如何从域中选择一个随机 URL - 表:ID |网址 |域 - 必须快
我需要对此表进行快速查询:
id|url|domain
示例:
ID URL Domain
1 http://www.google.de/example1 http://www.google.de
2 http://www.google.de/example2 http://www.google.de
3 http://www.google.de/example3 http://www.google.de
4 http://www.yahoo.de/example1 http://www.yahoo.de
5 http://www.yahoo.de/example1 http://www.yahoo.de
6 http://www.yahoo.de/example1 http://www.yahoo.de
该表包含 100 万行...因此查询应该非常快地返回响应...
例如我喜欢获取 1000唯一的随机网址,其中没有重复的域...
我尝试了类似的方法:
SELECT x.*
FROM ( SELECT *
FROM table
ORDER BY RAND() ) x
GROUP BY domain LIMIT 1000
但需要 1 分钟才能给我一些结果...这太耗时了
表结构是 myisam,但如果我得到的话可以转换为其他任何内容更快的结果
需要一些帮助
,谢谢
I need a fast query for this table:
id|url|domain
example:
ID URL Domain
1 http://www.google.de/example1 http://www.google.de
2 http://www.google.de/example2 http://www.google.de
3 http://www.google.de/example3 http://www.google.de
4 http://www.yahoo.de/example1 http://www.yahoo.de
5 http://www.yahoo.de/example1 http://www.yahoo.de
6 http://www.yahoo.de/example1 http://www.yahoo.de
The table contains 1 millions rows...so a query should return a respond very fast..
for example i like to get 1000 unique random urls without having duplicate domains in it....
i tried something like:
SELECT x.*
FROM ( SELECT *
FROM table
ORDER BY RAND() ) x
GROUP BY domain LIMIT 1000
but it takes 1 minute to gave me some results...thats too time consuming
table structure is myisam, but could be converted to anything else if i got faster results
need some help
thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我不确定这有多真实随机,但它在我的测试数据库中返回看似随机的结果。
我不确定您是否可以在简单的查询中执行此操作而不扫描所有行。
I'm not sure how truly random that is, but it returns seemingly random results in my test database.
I'm not sure you can do this in a simple query without scanning all of the rows.