如何对100亿+行

时间:2016-02-11 00:11:49

标签: sql select bigdata

当用户注册时,电子邮件必须是唯一的,注册检查最多只需要1秒。

Facebook / Google如何设法在数十亿行的桌面上执行选择,检索即时响应。

是否如此简单:

select email from users where email = "xxx@yyy.zzz" limit 1

email字段上有索引并在超高速服务器上运行此查询是否可以解决问题?

或者还有更多吗?

1 个答案:

答案 0 :(得分:0)

简短的回答,是的。虽然有这么多数据,但我想你可能想要查看分片等内容以使事情变得更快

使用SQL时,可以通过使用主键确保索引和唯一性。然后,驱动数据库的后端使用这些主键,以确保表中没有重复。因为密钥用于索引表中的行,这也意味着即使是大量数据集的查找也会因为这些索引而更快。将主键设置为电子邮件地址,在这种情况下你应该很好。

即使使用像Mongo,Cassandra等NoSQL数据库,也需要在数据上创建索引,以便快速查找。