I could be wrong but I had always assumed that the computation is not saved in the table but only "on demand" such as when you're browsing the table or when it's evaluating each row for some other purpose
Karen On Wednesday, June 18, 2025 at 03:21:01 PM CDT, Doug Hamilton <bugl...@wi.rr.com> wrote: Thanks Karen. I went with the computed column because it saved the overhead of crawling through a bunch of code and is therefore likely more foolproof. But you know what they say - Once you've made something foolproof.... Nope, not what you're thinking - "...the programmer looks like a fool cuz he missed a clump of code." :) But you raise an interesting question: Does a computed column evaluate each time it is referenced? Or does it evaluate only when the value of the "parent" column changes and then saves that computed value in the table? Doug On 6/18/2025 2:35 PM, 'Karen Tellef' via RBASE-L wrote: Here's my admittedly Low Tech way of doing it. Since you're willing to add a column to the table anyway, why not have two columns updated when you print the label? Have a "IsLabelPrinted" column with a Default of 0. When you print, update the date column with .#NOW and update IsLabelPrinted = 1. Removes the extra overhead of a computed column, which I think would have to compute for each row one at a time as it evaluates your Where. However, I can't answer how much faster that would be since there's only 2 possible values in the table Karen On Wednesday, June 18, 2025 at 02:31:55 PM CDT, Doug Hamilton <bugl...@wi.rr.com> wrote: I have an order table with a DateTime column, LabelsPrintedDTS. (DTS = DateTimeStamp) The table has a couple hundred thousand rows. LabelsPrintedDTS gets updated with .#NOW when labels for specified rows are printed. Labels to be printed are selected WHERE LabelsPrintedDTS IS NULL. As the table grows between semi-annual data archiving, the search for labels to print becomes slower. I don't think indexing LabelsPrintedDTS column will help because: 1) NULL values aren't indexed (this db is RB 10.5) 2) Indexing this column will bloat RX3, there may be up to 100 duplicate LabelsPrintedDTS values. What about: Creating a calculated Boolean column, PartLabelsPrintedYN = IFNULL(PartLabelsPrintedDTS,0,1). i.e. If labels have not been printed, the value of PartLabelsPrintedYN is 0, if printed, the value is 1. Then the WHERE clause becomes: WHERE PartLabelsPrintedYN= 0 Would such a Boolean search be faster? I'd test it but don't think my single-user system would be a fair evaluation compared to customer's multi-user system. I saw a Tip-Of-The-Day article about NULLS and indexing in RB 11 but can't find it. For whatever reason, I didn't think it would help this situation. TIA, Doug -- This email has been checked for viruses by Avast antivirus software. www.avast.com -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to rbase-l+unsubscr...@googlegroups.com. To view this discussion visithttps://groups.google.com/d/msgid/rbase-l/5926b3d5-a5a7-4547-ae52-8ed9ab8448f7%40wi.rr.com. -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to rbase-l+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/rbase-l/220263378.57221.1750275358160%40mail.yahoo.com. | | Virus-free.www.avast.com | -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to rbase-l+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/rbase-l/9f0d20d2-2c44-4a88-830b-6a16843ef180%40wi.rr.com. -- For group guidelines, visit http://www.rbase.com/support/usersgroup_guidelines.php --- You received this message because you are subscribed to the Google Groups "RBASE-L" group. To unsubscribe from this group and stop receiving emails from it, send an email to rbase-l+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/rbase-l/1439958324.79038.1750278317464%40mail.yahoo.com.