我正在制作一个 Web 应用程序,并且我使用 MySQL 作为我的数据库后端。我的数据库最终会更大,比如某些表中的行数超过 1 亿行。我只是想确认关于这么大桌子的一件事。
选项 1。假设这些表有 Primary Keys 并使用 Primary Key 进行查询,但我需要运行 mysql 查询,例如每个用户登录 100 个查询。
USERID KEYS
1 {1,2,3,4}
我将为用户获取 KEYS,然后进行主键查询以获取每个值
PRI.KEY Value
1 google
2 yahoo
3 aol
4 windows
例如,如果用户登录,我需要获取他的书签站点。所以我会做两个查询 Select KEYS from TB_KEYS where USERID=1; 然后我解析 KEYS 并为每个键,从 TB_VALUES 中选择值,其中 PRI.KEY=(KEY - 我获得,从第一个查询中解析);
选项 2。我没有使用 Primary Keys 进行查询,但我需要为用户登录运行一些查询。
OPT_TABLE_2
USERID KEY Value
1 1 google
1 2 yahoo
1 3 aol
1 4 windows
从 USERID =1 的 OPT_TABLE_2 中选择值;
哪个选项会更好..?