当我创建越来越多的字段和内容类型时,我看到Drupal在
MySQL中创建了大量的表(> 1k),在一点之后我的系统变得非常慢.
我已经尝试了几个MySQL性能调优技巧,但没有任何改进显着的性能.启用缓存可以提高前端的速度,但如果我尝试从管理员后端编辑内容类型,则需要永远!
你是如何应对的?你如何扩展Drupal?
最佳答案 如果表的数量已成为数据库性能瓶颈,我必须同意Rimian.您可以以编程方式定义自己的内容类型,然后通过利用Node API开发自己的内容类型模型.
API文档和这样做的示例如下:http://api.drupal.org/api/drupal/developer–examples–node_example–node_example.module/6
代码流基本上是:
>让Drupal识别您的内容类型
>使用Forms API定义需要执行的字段
>定义每个Node API的功能应该如何表现(查看,加载,保存等).
这允许您控制事物的存储方式,但仍然允许您(以及所有贡献的模块)利用钩子系统进行Node API调用.
所有直接依赖于CCK功能的功能/模块都缺少明显的缺点.但是在> 1k表(这表明有大量的内容类型和字段),听起来你已经处于那种级别的定制工作.