2

I have noticed that each custom field takes up 2 columns in the channel data table.

  • The second column often seems to have little value.
  • Existing columns do not seem to be recycled for new channel field groups with the same field type.

This seems like quite a wasteful design because:

  • It increases the size of rows in other channels.
  • Must surely come with various performance penalties (like full-text search perhaps).

Are there ways to optimize this? am I worrying unduly? what is the realistic maximum number of custom fields for an ExpressionEngine site?

1 Answer 1

3

What you are seeing in this table is how EE handles data storage in the database. There isn't a way to change this data structure. The second column tells EE how to format the content in the main data column.

The structure of the table doesn't become an issue unless you have an enormous number of custom fields or a high traffic site with lots of data rows.

This post sheds some light on the maximum number of EE custom fields you can have in an install.

I've personally never had an issue with maxing out columns in that table during my 7+ year coding with EE.

3
  • I have considered using category groups to reduce the number of field types. For example, instead of selecting between a number of options simply ticking the relevant category. Is this a good idea?
    – Lea Hayes
    Dec 13, 2012 at 2:51
  • 2
    IMO: How you set up your fields/categories should be based on how you intend to use the data in your templates. Unless you are doing crazy things, the columns in the DB are not going to cause issues. It's good to use categories if you need to call data by the category in your templates. People try to use search="" in their entries tag to filter entries and it can causes issues.
    – Anna_MediaGirl
    Dec 13, 2012 at 2:59
  • 1
    That makes a lot of sense. As always thanks for your help :-)
    – Lea Hayes
    Dec 13, 2012 at 3:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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