1

If there are custom fields that are not used e.g., optional, in all entries, does this in any way affect performance? I am considering implementing a somewhat monolithic custom fieldset to be associated with various channels.

1

For each custom field you add, it adds at least 2 columns to the exp_channel_data table, and if that table gets too big, it can affect performance in some respects.

I have a site with many channels and many fields, and my exp_channel_data table is up to 600 columns. This becomes a problem when I want to add new custom fields. I have over 200k+ entries in that table, and it now takes several minutes to add a new custom field.

I haven't, however, noticed any major issues with the reading of the data... just the actions that require modifications to that table. Hope that helps some!

| improve this answer | |
  • In that light, it seems to make sense to reuse custom fields across channels rather than duplicate fields in individual field sets. Of course, this can possibly create an UX issue for data entry but in my case, I don't think it will be too intense. Currently, I'm estimating that my channel_data table will be less than sixty columns for the entire site. My main concern is if there is overhead in querying empty cells in channels that will never use a column that exists to serve a different channel. – Jack Frost Apr 1 '15 at 0:20
  • 1
    You can customize the publish page per channel, hiding fields that aren't used for a particular channel, to help with the publish/edit UX – Gary Reckard Apr 1 '15 at 3:55
  • That's very helpful. I wasn't aware of this before. Thanks. – Jack Frost Apr 1 '15 at 4:47

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.