Well, since you are searching that column, it's probably a good idea.
Possible scenarios for not storing computed values -
1) Data integrity - say, the columns A and B are updated but C does not get
updated, resulting in an anomalous situation
2) Data-set is large and the extra column leads to additional bloat and
you are not searching the column C.
Then, selectivity is also a factor. Best way is to do a EXPLAIN for your
query and see the gain you get from having the additional column vs not.
It's hard to say what's right for you without knowing more about the
On Sat, Aug 21, 2010 at 4:32 PM, Ashley Stars <b@stripped> wrote:
> Ashish, Mark and off-list responders,
> Ashish, is there a really good general reason not to store a computed
> value? Searches will be done on this column. Searches like 'Please send me
> the rows with the ten highest values of C.'
> > Do you have a really good reason to store a computed value? It's only
> > useful
> > if you will perform a search on the column, else you could just do the
> > subtraction when you SELECT columns A and B.
> > - Ashish
> > On Sat, Aug 21, 2010 at 11:55 AM, <b@stripped> wrote:
> >> Hello,
> >> For simplicity's sake, let's say I have three fields, A, B and C, all
> >> of which are integers. I'd like the value of C to be equal to A less B
> >> (A-B). Is there a way I can perform this calculation? I'm guessing it
> >> would happen when I INSERT a row and specify the values for A and B.
> >> Feel free to direct me to the fine manual I should have read.
> >> Thank you.
> >> --
> >> MySQL General Mailing List
> >> For list archives: http://lists.mysql.com/mysql
> >> To unsubscribe:
> >> http://lists.mysql.com/mysql?unsub=1
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe: