Question about "set isolation"
Posted in 2009
Topics: Installation, Setup & Upgrades, Connectivity: ESQL/C, 4GL & Embedded SQL, Server Administration, Transactions, Locking & Isolation
Dear All... I've a lot of esql/c applications with "set isolation to dirty read" in them , all databases in IDS engine are config buffered log , I upgrade IDS from 7.3 to 11.50UC4 recently, and set all databases to no log, I wonder if anything I can do to avoid sql error in executing "set isolation to dirty read" , except for modify every aps and drop "set isolation" statements , Is there any parameter in onconfig can tell engine that set isolation is useless , so I don't need to modify every aps !!~~ Thanks for comments,suggestion !!
Yes SET THOSE DATABASES BACK TO LOGGED, preferably UNBUFFERED! Your data is not safe and your restore granularity in case of a crash is the last full archive! You cannot recover to the point of failure if your databases are not logging! You ARE taking archives several times a day with these unlogged databases, right? Are you archiving at all? Do you care about the data in these databases at all? If not, I'll quiet down. Art Art S. Kagel Oninit (www.oninit.com) IIUG Board of Directors (art@iiug.org) Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on my employer, Oninit, the IIUG, nor any other organization with which I am associated either explicitly or implicitly. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves. On Wed, Jul 8, 2009 at 8:30 PM, MARS CHEN <mars@jsun.com> wrote: > Dear All... > > I've a lot of esql/c applications with "set isolation to dirty read" in > them , > all databases in IDS engine are config buffered log , > I upgrade IDS from 7.3 to 11.50UC4 recently, and set all databases to no > log, > I wonder if anything I can do to avoid sql error in executing > "set isolation to dirty read" , except for modify every aps and > drop "set isolation" statements , Is there any parameter in onconfig > can tell engine that set isolation is useless , so I don't need to > modify every aps !!~~ > > Thanks for comments,suggestion !! > > > > ******************************************************************************* > Forum Note: Use "Reply" to post a response in the discussion forum. > > --001636c5b0d49a5903046e3bf7f3
Thank you for your reminding !!! In my case , all data in DB can be reproduced , so data is not important , what I care is speed !! that is why I set DB to no log , because in my case , I need to update a table(1500 rows in it) one million of times during 5 hours , all esql/c aps select for the newest data , so modify buffered log to no log do help a lot !!
One thing you should be aware of is that you can have a logging database with tables inside it which are non-logging. I would suggest= that you set the database back to logging, and hence the set isolation level statement will pass. Then set the tables you are desire this sp= eed to non-logging. To set the table to non-logging use one of the followi= ng two statements: 1. CREATE RAW TABLE 2. ALTER TABLE tabname TYPE (RAW); John F. Miller III STSM, Support Architect miller3@us.ibm.com 503-578-5645 IBM Informix Dynamic Server (IDS) |------------> | From: | |------------> >--------------------------------------------------------------------= -----------------------------------------------------------------------= -------| |"MARS CHEN" <mars@jsun.com> = = | >--------------------------------------------------------------------= -----------------------------------------------------------------------= -------| |------------> | To: | |------------> >--------------------------------------------------------------------= -----------------------------------------------------------------------= -------| |ids@iiug.org = = | >--------------------------------------------------------------------= -----------------------------------------------------------------------= -------| |------------> | Date: | |------------> >--------------------------------------------------------------------= -----------------------------------------------------------------------= -------| |07/08/2009 07:06 PM = = | >--------------------------------------------------------------------= -----------------------------------------------------------------------= -------| |------------> | Subject: | |------------> >--------------------------------------------------------------------= -----------------------------------------------------------------------= -------| |Re: Question about "set isolation" [16272] = = | >--------------------------------------------------------------------= -----------------------------------------------------------------------= -------| |------------> | Sent by: | |------------> >--------------------------------------------------------------------= -----------------------------------------------------------------------= -------| |ids-bounces@iiug.org = = | >--------------------------------------------------------------------= -----------------------------------------------------------------------= -------| Thank you for your reminding !!! In my case , all data in DB can be reproduced , so data is not importan= t , what I care is speed !! that is why I set DB to no log , because in my case , I need to update a table(1500 rows in it) one mill= ion of times during 5 hours , all esql/c aps select for the newest data , so modify buffered log to no log do help a lot !! ***********************************************************************= ******** Forum Note: Use "Reply" to post a response in the discussion forum. =
Thank you for your kind response !!! I've tried to modify table to raw table in 7.31 before , but it failed to create index , in IDS 11.50.UC4 , the raw table can have the index, exactly what I need !!! Thanks , it help me a lot !~