所以我有一个问题。索引或唯一?有什么更好的MySql
假设你有一个表请求,它表示一个图。请求表中有3列,A,B,时间。 A - > B时间。因此,每一行代表的是在时间T从A(请求者)到B(被请求者)的有向连接(时间仅仅用于组织数据,而不是其他任何事情)。
那么,如果说请求是1,000,000行,速度会更快。
索引(A,B) 索引(A)和索引(B) 唯一(A,B)?
谢谢你们!和A,B是VARCHAR(32)(MD5的)
对不起,我忘了一个典型的查询。
我需要能够看到用户A(谁登录)有任何请求!
我也需要搜索以验证用户是否接受了正确的请求,A接受B.
因此,这些语句看起来像。
是否有新的要求?
SELECT B, time
FROM requests
WHERE A='$id';
A是否收到B的请求?
SELECT time
FROM requests
WHERE A='$A' and B='$B';
“更快”取决于您计划如何针对数据进行搜索。典型的查询会是什么样子? – 2011-06-01 18:39:02
Oko,只是更新了项目。对不起,我忘记了查询。我可能会对NEW REQUESTS做更多的请求,而不是A有B – Michael 2011-06-01 18:49:48
的请求我建议在A和B上都设置一个正常的索引,它会给你提供良好的性能和灵活性。不要使用独特的约束,MD5可能会发生碰撞,但是可能性很小,您会放慢速度。最后一点MD5已不再安全,“散步不会跑到像SHA512那样更安全的散列。” – Johan 2011-06-01 20:34:35