我正在构建一个Web应用程序,我正在考虑如何构建数据库。
应用程序将按关键字提供,然后它将检索这些关键字的信息并使用日期戳将其保存到数据库中。信息将来自不同的来源,例如yahoo的结果,上个月包含该关键字的diggs等等。
所以我认为一个简单的方法就是拥有一个带有id和关键字列的表,其中存储关键字,另一个表用于所有带id的数据(与关键字相同),datestamp ,data_name,data_content。
这是一个使用mysql的好方法,还是可以在某种程度上使查询更慢或更慢?我应该为我想要使用的每种类型的数据构建表吗?我主要是在申请表上寻找一个好的表现。
我想仅使用一个数据表来表示数据的另一个原因是我可以轻松添加更多data_name(s)而无需触及数据库。
答案 0 :(得分:0)
第二个表,即包含有关关键字的各种信息的表,此表中的id
列可用作第一个表id列的外键
答案 1 :(得分:0)
这是使用mysql的好方法吗? 这可能会在某种程度上进行查询 慢一点还是一些?我应该建立 我想要的每种数据类型的表 使用?我主要是寻找一个好人 在应用程序上的表现。
许多大型MySQL播放器(例如flickr)都使用MySQL作为简单的KV(键值)存储。
此外,如果您关注性能,则应将数据缓存在memcached / redis中(没有什么可以打败内存)。
答案 2 :(得分:0)
我还有另一个建议:索引你的内容。如果您计划存储内容并能够使用关键字进行搜索,则使用mysql存储文档的详细信息,如作者,文本和其他一些信息,并使用Lucene创建索引。 Lucene最初是用于Java的,但是有许多语言的端口,PHP也不例外。
您可以使用Zend framework来管理Lucene索引,只需很少的努力,浏览documentation或在线查找教程。这个建议很简单: - 您将大大缩短搜索时间 - 您的关键字接受度会更高,Lucene将赋予搜索权力
我希望我能帮忙! 祝你好运!