Max size of field

Can anyone tell me which one is the field type of maximum size and whats the max size of that

1 Like

At frappe are the text fields like

  • Text
  • TextEditor
  • HTMLEditor
  • Code

The restriction is given from the database https://dev.mysql.com/doc/refman/8.0/en/storage-requirements.html#data-types-storage-reqs-strings (Maximum size of 65,535 characters.)

Since frappe don’t support Blob datatypes and is not an good option also store they into the database, anything bigger than Text fields, should be stored as an Attachment, that technically will be restricted by the availability of space in disk, your network speed and the maximun_file_size configuration in each site.

Also consider that spaces, special characters, punctuations and unicode combining character will be counted by the database as an single character (restricting more the availability of characters you can store depending of your writing language). [Combining character - Wikipedia]

Also, since there’s no threatment for bigger sizes than the database size in Frappe it may cause data loss if you oversize this.

i want to save id of some particular clients. Let say they are of 7 digit. How max can I store?

@nikzz using:

Data Fields 255 characters
Int Fields values range from -2147483648 to 2147483647.

Also consider that all of that values are per record.

I want to save around 1 lacs characters as comma-seperated id’s for datatable fast loading when needed. What will be the best approach to achieve so without making my instance slow down.

Any suggestions

It depends of various factors

Like server performance, available memory, minimal processing footprint.

I strong recomend you to put that data in 1 table or an Attachment.

I have one case, about one custom recurring invoice module, that process thousands of invoices daily.
To prevent that data to be stored into the database during the validation phase, and to ensure that I’ll retrieve the data fast, I use one KeyValue database, called LSMDB GitHub - coleifer/python-lsm-db: Python bindings for the SQLite4 LSM database., where I can retrieve 30K of invoices in less than 2sec.

If you store toomuch data in an TextField you will loss data.