Recent content by Patrice Perrot

  1. P

    Question Import Data volume increase to 300,000 causing DB updates to almost halt after updating 38000 records - Progress 11.7 Windows client - Linux db server

    Hi I notice several potential performance issue on code like "for each ttcustomer where not ttcustomer.found" . Even if there is an index on the field found , the request will not use it = > Whole-Index. You should have "for each ttcustomer where ttcustomer.found = false" You could have a...
  2. P

    How Index Reads are More Than Table Reads

    You can also try this code , you will have no read on orderline but 100 on its index. <code>def var ii as int no-undo. def var iord as int no-undo. do ii = 1 to 100 : for each order no-lock where...
  3. P

    How Index Reads are More Than Table Reads

    The request stops to read the index and the records when the value of this index does not respect the value of the index you specify For example ; for each order where custnum = 10 no-lock , the process will stop to read the data when it find an index with custnum > 10 for each customer...
  4. P

    How Index Reads are More Than Table Reads

    Hi , It is OK that you read one index more than records on each part of your query (the last one , to show it does match your index key) 83 records on customer => 84 read on index 207 order + 83 request => 290 read on index 873 orderline + 207 request => 1080 read on index. If the read on...
  5. P

    Unable to start DB if -Mn*-Ma > 1024

    Hi I have some issue with high -n on older release of Progress when the "-shmsegsize " was too small. Could you try to start your db with the line below proserve sports -S 13000 -n 1606 -Mn 42 -Mpb 40 -Ma 32 -Mi 5 -shmsegsize 2G -minport 18500 -maxport 22000
  6. P

    Unable to start DB if -Mn*-Ma > 1024

    Hi , I have no issue with "-Mn 42 -Mpb 40 -Ma 40" . proserve dbnewdb -N TCP -S 4.... -n 1606 -Mn 42 -Mpb 40 -Ma 40 -Mi 5 OpenEdge Release 10.2B0830 as of Mon Feb 16 03:35:45 EST 2015 09:26:47 BROKER The startup of this database requires 70Mb of shared memory. Maximum segment size is...
  7. P

    Question Copy replication trigger assignments.

    Hi , Ron, i do not think this is your case (CDC was considered at length but it caused problems for us), but others could be interresting to know this If you are not avail on the record creates , instead of doing. Create newrecord. Buffer-copy sourcerecord to newrecord. You could do...
  8. P

    Question Copy replication trigger assignments.

    Hi Ron You can also do the buffer-copy and the assign in 1 code line "BUFFER-COPY X TO Y ASSIGN Y.Seq = ti-NextSeq ." (without "." between them). So all the fields are assigned in the same instruction. Depending of your OE version , it could be faster . Only 1 index create instead of 1 index...
  9. P

    Right approach when using transactions and strong scope to conditional update

    Hi I think there is no update between ( i assume this WHERE find-customer.cust-num instead of WHERE customer.cust-num) FIND FIRST find-customer WHERE find-customer.cust-num = 1 NO-ERROR. and FIND CURRENT find-customer NO-LOCK. because you use a Shared-lock (no lock option)...
  10. P

    Normalization

    Hi , Another point for future (OE12), SSJ will not work for a request on several DB , it could have a huge impact on performance. Tom and Rob are correct , managing multiple Db could be harder than a single DB. I am responsible for over 10K hosted databases for my clients, all of them have...
  11. P

    Extremly slow using Progress and SQL-Database

    Hi, I think Tom's suggestion is for this request "FOR EACH agreement WHERE agreement.agreement_status_code <> '9' NO-LOCK" In this case "FOR EACH agreement WHERE agreement.agreement_status_code < '9' agreement.agreement_status_code > '9' NO-LOCK" is enough because the request is using the...
  12. P

    Extremly slow using Progress and SQL-Database

    Hi Jorgen, Could you give us the SQL Plan (I think it will begin by ITEM_price with index "fromdate_desc_idx"). With Progress You are using the folowing index - agreement Index pidx WHOLE-INDEX - ITEM_price Multiple index (Index "agreement_idx" + Index "fromdate_desc_idx" ) - Item Index...
  13. P

    How to replace entire occurence of a character.

    Try the code below to have admin,demo1,system,test DEFINE VARIABLE ctest AS CHARACTER NO-UNDO. ctest = "demo,demo1,system,test" . ctest = "," + ctest + "," . ctest = replace(ctest , ",demo," , ",admin," ). ctest = TRIM (ctest , "," ). MESSAGE ctest VIEW-AS ALERT-BOX...
  14. P

    Question New To -b2

    Hi Tom, I did a test on several hundred Db on our cloud that are using this SQL treatment, there are no real difference on DBread between "-Bp 6" and "-Bp 1000" (less than 1%), this is because : - We are doing sequential read to populate a datawarehouse. - there is no join, the index used have...
  15. P

    Question New To -b2

    Hi I had the same issue with ABP and LRU2 on our cloud. It was due to SQL request which could read the empty blocks of a table (affect to the BP not ABP) which are in the last cluster (8 , 64 or 512 locks) of this table. The SQL engine put them in the ABP . When i changed the policy...
Top