Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
+1 vote
686 views
in Q2A Core by

This has been an issue with almost every website where I use Q2A. Users always complaint about Max Character Limit. 

So I checked what's the WordPress Max Character Limit for a Post and got to know that is it pretty huge. Here is the answer for that.

So why not Q2A also does the same and give us quite wide space to get as much content in an answer as much we want.

Q2A version: 1.7.2
by
I agree :((((

1 Answer

+2 votes
by
The reason there is a limit is performance. Using TEXT fields slows down a bunch of queries due to the way they are stored/retrieved in joins.

I don't know Wordpress' case but maybe they are not doing the same kinds of queries. Plus I don't think WP is known for being efficient.

But I will take a closer look at Q2A and see what the performance penalty is in reality.
by
Good to hear from you Scott. If there is a performance issue then I am sure that this issue would have been faced in WP so we can see the solution there.

Secondly, I know that you have increased Max Character Limit to 12K for Q2A 1.8 but that will again be low. Can't you just increase it to 16k which would be just double the current Limit as that will give some relaxation to us?
Moreover I have also confirmed that Discourse is also having 16K max character limit for a post.
by
Like I said, WP isn't known for being performant. There are probably also historical reasons, WP has been around for a while and you couldn't use large VARCHARs back then. And they can't change it now.

As for the character limit, we can't change it. It's a little complex but there is a maximum row size of 65k bytes and with UTF8 we need to allow 3 bytes for each character (English-only uses less but foreign scripts like CJK use the full 3 bytes). With the current set up it could go to around 20k length, but that leaves zero room for future expansion.

However, looking into a recent post (the emoji one) it turns out you need to allow for 4 bytes per character so we will have even less space when that gets fixed.

Discourse doesn't use MySQL so their limitations are different.
by
What do you meant when you said "it could go to around 20k length, but that leaves zero room for future expansion.". What does future expansion means here.

Secondly, can't this limit be increased in anyway because it is quite less as compared to the answers I am getting on my websites. And thanks for giving time for this.
by
Future expansion means if we need to add more fields to qa_posts in the future. If we are at the limit of the row size we could not add more fields.
...