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.

Reply via email to