Joomla 2.5有多少种可能的类别

时间:2013-03-24 21:10:52

标签: joomla categories max

我用谷歌搜索,但只能找到最大数量的文章的答案。

问题:简短版本:

Joomla 2.5可以在共享主机上处理多少个可能的类别(带子类别)。我不得不期待哪些问题?

问题:长版本:

我正在为建筑师建立一个网站。内容结构如下所示

HOUSES
    Architect A
      Project 1
      Project 2
      ...

    Architect B
      Project 1
      Project 2
      ...

Places
    Architect C
      Project 1
      Project 2
      ...

    Architect D
      Project 1
      Project 2
      ...

等等。最明显的是将HOUSES和PLACES作为类别。建筑师A,建筑师B ......作为子类别,项目作为文章。这将一方面保持使用Joomlas Blog View等的能力,而不是使用第三方CCK扩展,但另一方面,这可能会导致300多个类别。

感谢您一直很好的投入,

Tony

3 个答案:

答案 0 :(得分:2)

唯一的限制是理论上的,在很大程度上取决于您的托管环境。只要知道你添加的越多,在使用它时加载类别数据所需的内存就越多,并且可能会使用户界面复杂化,具体取决于一次可见多少。

答案 1 :(得分:2)

您正在查看#__categories表格中可能的2147483647个类别。

在Joomla! 2.5你会发现类别表的定义:

CREATE TABLE `#__categories` (
  `id` int(11) NOT NULL auto_increment,
  `asset_id`

  <snip ... >

  `language` char(7) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `cat_idx` (`extension`,`published`,`access`),
  KEY `idx_access` (`access`),
  KEY `idx_checkout` (`checked_out`),
  KEY `idx_path` (`path`),
  KEY `idx_left_right` (`lft`,`rgt`),
  KEY `idx_alias` (`alias`),
  INDEX `idx_language` (`language`)
)  DEFAULT CHARSET=utf8;

正如您所看到的,主键被定义为int,因此最大value on MySQL of an signed INT (2147483647)和默认起点1会产生超过21亿个类别。见*Note about AUTO_INCREMENT on MySQL

  

注意

     

每个表只能有一个AUTO_INCREMENT列,它必须是   已建立索引,并且不能具有DEFAULT值。一个AUTO_INCREMENT列   仅当它只包含正值时才能正常工作。插入一个   负数被视为插入一个非常大的正数。   这样做是为了避免数字“包裹”时的精度问题   积极到消极,也确保你不小心   获取包含AUTO_INCREMENT的<{1}}列。

在共享主机上,在达到0主键的此限制之前很久就会耗尽数据库空间 - 类别表中的其余记录指定的空间大约是主键使用的空间的1300倍。 (大致

因此,您更有可能使正常内容影响托管限制,而不仅仅是类别表。

答案 2 :(得分:0)

查看在我的测试站点中完成的一些测量(J2.5.x,没有使用J3.x进行测试,但它应该是相同的):

每个脚本执行的常见PHP内存限制为40MB(服务器默认值)

你可以期待大约800个类别 从而得到一个内存耗尽的致命错误  (权限检查将占用26MB,剩余内存用于其他内容......)

位于创建类别树并检查权限的位置 例如Joomla文章表格

注意:  如果你是超级管理员,则类别权限检查不会占用任何内存

注意:  内存限制为128MB,你可以拥有最多(约)3500个类别

对于5000+或10000+类别,您开始遇到一些小型或中型性能问题,但这实际上是太多类别