我正在开发一个网站,该网站主要使用一个包含组织表的数据库,每个组织一行。每个组织都可以拥有无限数量的附加关键字。关键字在与组织分开的表中表示,其中每一行只是主键,关键字和附加到的组织的主键。最终这个表可能有数千个条目。这是否会从此表中提取记录,以及在表格中列出唯一关键字,这太费时了?
答案 0 :(得分:17)
只要有几十万行就完全没问题了:
我正在开发一个应用程序,它在几个表上进行了大量查询,每个表都有几十万个记录,带有连接而不是“简单”where子句,而且该应用程序工作正常 - 好吧,因为我们已经优化了查询和索引^^
在这种情况下,几百万行也可以,我会说 - 取决于你会做什么样的查询(以及其中有多少) ^^
在每种情况下,只有一种方法可以确定:
答案 1 :(得分:1)
成千上万的参赛作品并不是很多。如果您需要检索特定关键字,请务必为关键字编制索引。
答案 2 :(得分:0)
如前所述,mysql不应该是问题 - 我听说几百万行的表没有问题..但要注意围绕mysql请求的php循环可能很棘手,速度慢,甚至结束你的脚本出现“超时”错误!
答案 3 :(得分:-1)
如果你必须要求限制,那你做错了。虽然你正在描述多对多关系,但这完全没问题。
只需保持索引最新,这应该不是问题。我的当前数据库中有一个表有94k行,而且速度足够快。
一些建议让它更快,如果你知道关键字可以有多长,并且它不是太大,考虑使用CHAR而不是VARCHAR,你将使用更多空间,但完全设置的字节长度行是订单比没有的更快。 执行查询时,只获得你需要的东西,即limit / top和where子句,除非你真的需要所有行,否则不要在选择器中使用'*'。