我在做一个Web应用程序,我使用MySQL作为我的DB后端。我的数据库最终会更大,就像一些表中的超过1亿行一样。我只想确认一个关于这样的大桌子的事情。MySQL性能
选择1。假设这些表具有主键,并使用主键进行查询,但是我需要运行mysql查询,例如针对每个用户登录查询100个查询。
USERID KEYS
1 {1,2,3,4}
我会得到用户密钥,然后让主键查询来获得每个值
PRI.KEY Value
1 google
2 yahoo
3 aol
4 windows
如果用户登录,我需要得到他的书签网站为例。所以我会做两个查询 从TB_KEYS中选择KEYS,其中USERID = 1;然后我解析KEYS和每个键, 从TB_VALUES中选择值,其中PRI.KEY =(KEY - 我从第一个查询中解析出来);
选项2.我不使用主键进行查询,但我需要运行一些用户登录查询。
OPT_TABLE_2
USERID KEY Value
1 1 google
1 2 yahoo
1 3 aol
1 4 windows
从OPT_TABLE_2选择值,其中USERID = 1;
哪个选项会更好..?
你的问题没有道理。你可以包含一些你试图获得的东西的实际SQL查询吗? – Cylindric
如果用户登录,我需要让他的书签网站为例。 因此,我将在第一种方法中进行两个查询: 从TB_KEYS中选择KEYS,其中USERID = 1; 然后我解析KEYS和每个键, 从TB_VALUES中选择值,其中PRI.KEY =(KEY - 我从第一个查询中解析出来); –
编辑你的问题来澄清它,不要只是发布更新作为评论:)这样你会得到很好的格式,未来的读者不需要扫描所有的线索评论。不知道为什么你不能只使用JOIN。 – Cylindric