在我的网站上,你可以搜索“广告”或“分类广告”。有不同的类别。
如果有多个表,每个类别一个表,搜索速度会更快,还是不重要?
我们谈论的是大约50万个广告。
如果它不会减慢搜索速度,请解释一下,让我理解为什么不会,因为这似乎是常识,你有更多的广告,搜索速度越慢!
谢谢
发布于 2009-11-11 04:32:43
你的问题有点不清楚。我假设这个场景:
table: ads
id category ad_text
-- -------- ---------------------------
1 pets sample text
2 family sample ad如果您对广告进行一次搜索,那么在每次搜索中搜索多个表比搜索一个表要慢。
但是,如果您打算根据“类别”将“广告”分成多个表,那么只剩下如下的表名
而且,在编程方面,您知道您正在寻找程序员广告,这样您就可以直接搜索程序员广告表,然后将它们分解出来会更快。勉强算是。
不过,将它们拆分出来有很多缺点。您需要:
鉴于我们拥有的信息有限,我强烈建议使用一个带有类别列的表,然后继续并将其规范化到它自己的表中。在该列上添加索引。构建数据库是为了正确地处理大量的数据行,所以不用担心这一点。
发布于 2009-11-11 04:33:24
显然,搜索一个较小的表(一个类别)比搜索一个较大的表名义上更快。然而,较大的表可能仍然是正确的设计。创建多个相同的表只会让开发人员和管理人员的生活苦不堪言。此外,如果对数据进行分段,则某些类型的搜索会更加困难(例如,跨两个类别进行搜索)。
如果索引正确,单表方法将产生几乎与分段方法一样好的结果,同时提供适当设计的好处。
(当然,当您说“单个表”时,我假设您指的是包含广告实体的核心属性的单个表。可能还会有其他的表。)
发布于 2009-11-11 04:26:28
那得看情况。
如果您构建了一个包含文本的非正规化表,由于多种原因,它将变得越来越慢。索引在一定程度上是有帮助的。
如果您有一个包含多个表、主键和外键、索引等的规范化结构,那么它可以更加健壮和可伸缩。
https://stackoverflow.com/questions/1710936
复制相似问题