这些方法中的哪一种将是存储,检索,处理和搜索存储的URL的大量索引(数百万条记录)以及关键字的最有效方法。
示例1:(使用一张桌子)
TABLE_URLs-----------------------------------------------
ID DOMAIN KEYWORDS
1 mysite.com videos,photos,images
2 yoursite.com videos,games
3 hissite.com games,images
4 hersite.com photos,pictures
---------------------------------------------------------
示例2:((从一个表到另一个表的一对一关系)
TABLE_URLs-----------------------------------------------
ID DOMAIN KEYWORDS
1 mysite.com
2 yoursite.com
3 hissite.com
4 hersite.com
---------------------------------------------------------
TABLE_URL_KEYWORDS---------------------------------------------
ID DOMAIN_ID KEYWORDS
1 1 videos,photos,images
2 2 videos,games
3 3 games,images
4 4 photos,pictures
---------------------------------------------------------
示例3:(从一个表到另一表的一对一关系(使用参考表)
TABLE_URLs-----------------------------------------------
ID DOMAIN
1 mysite.com
2 yoursite.com
3 hissite.com
4 hersite.com
---------------------------------------------------------
TABLE_URL_TO_KEYWORDS------------------------------------
ID DOMAIN_ID KEYWORDS_ID
1 1 1
2 2 2
3 3 3
4 4 4
---------------------------------------------------------
TABLE_KEYWORDS-------------------------------------------
ID KEYWORDS
1 videos,photos,images
2 videos,games
3 games,images
4 photos,pictures
---------------------------------------------------------
示例4:(从URL到关键字ID的多对多关系(使用参考表)
TABLE_URLs-----------------------------------------------
ID DOMAIN
1 mysite.com
2 yoursite.com
3 hissite.com
4 hersite.com
---------------------------------------------------------
TABLE_URL_TO_KEYWORDS------------------------------------
ID DOMAIN_ID KEYWORDS_ID
1 1 1
2 1 2
3 1 3
4 2 1
5 2 4
6 3 4
7 3 3
8 4 2
9 4 5
---------------------------------------------------------
TABLE_KEYWORDS-------------------------------------------
ID KEYWORDS
1 videos
2 photos
3 images
4 games
5 pictures
---------------------------------------------------------
我的理解是示例1将占用最大的存储空间,但是搜索此数据将很快(重复保存关键字多次,但是关键字位于相关域的旁边)
而示例4将节省大量的存储空间,但搜索将花费更长的时间。 (不必存储重复的关键字,但是为每个域引用多个关键字将花费更长的时间)
有人在设计可处理大量数据的数据库时,谁能给我任何观点或想法,以寻求最佳方法?出于远见,您可能希望显示带有相关关键字的URL或搜索一个或多个关键字并显示最相关的URL
您do在url和关键字之间具有多对多关系。在关系数据库中表示这一点的规范方法是使用桥表,该桥表对应于您的问题中的示例4。
使用适当的数据结构,您将发现查询将更容易编写,并且效率很高。