I have some records imported to my module tables. Some of this data is synchronized to drupal nodes by creating and updating existing nodes of specified type. This operation is made each time new import is done. The problem is, it produces around 60 000 nodes for every new import and it is quite a lot. Synchronization takes hours and operations through Views takes ages or crashes.

Is there any way to store my data only in my tables and serve them from this tables as nodes? Some way to only creates nodes with some properties set as language and title, and then provide data for fields directly from my tables?

1 Answer 1


If revisions aren't important you might want to fork your website codebase and try installing Field SQL NoRevisions module, by removing the "revisions" of Nodes node creation and fetching takes half the number of normal drupal queries.

Depending on you Read vs Write ratio you also might want to consider moving some of your Fields into a NoSQL database such as MongoDB.

  • It is considerable, but what I actually want and need is some kind of way to store and provide values for fields for my node types all by my own module and its tables. This way creating nodes would take lot less time, because only type, title and few more properties would be set. Any way of doing that?
    – Eloar
    Mar 3, 2013 at 15:47
  • ... well thats why I said try Field SQL NoRevisions, by not having "revisions", now you just have "title", "body", "whatever" field contents and no revisions. Node can be costly. Can you do what you want with a custom Entity that sets specific Properties on its table .... an entities properties can be stored on the table the entity is defined. Entities, aren't necessarily nodes though.
    – tenken
    Mar 3, 2013 at 18:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.