I apologize if I wasn't clear. I'm using an in-house timetracking app. After all the activities in the timekeeping program, it uploads the timetracking data into QB. To prevent inadvertent duplicate entries and improve performance, I populate a temporary table with QB's timetracking table data and query against that data. I had been running the SQL command "Insert * into QB_Timetracking from timetracking" When I launched this SQL, the optimizer ran and counted up to the number of records (15808 as of last try) and then the local QB_Timetracking table was created and populated. This process took about five minutes.
As noted in my original post, this process slowed down dramatically a bit over a week ago. The optimizer no longer launched and the creation of the QB_Timetracking table took about 5.5 hours. The only change at that point was that the optimizer stopped (yes, truly with no user interaction). I was unable to get the optimizer to operate, so I came here looking for solutions. .The first thing I did was to delete the contents of the database folder and recreate the database by reloading. Still, the optimizer would not run and my query was no faster. Still searching for a solution, I downloaded 7.10.00.231 (had been using a version 6, unsure of what particular build). Since downloading and installing, I have tried to vary the optimizer options, relocate the optimizer database, reload data, load updated data, various tables, and countless other actions that I did not carefully document.
Here is a sampling of my experiences:
· I can change the path for the optimizer database and empty the optimizer folder, rerun the reload all data and there will be a file created. If I go back to the control panel, the path for the optimizer file is set back to the original %UserProfile% location.
· I can force the optimizer to run by using either SP_optimizefullsync timetracking or the SP_optimizeupdatesync timetracking. Both appear to operate as anticipated.
· Executing Queries like “select * from timetracking NOSYNC” take hours to complete even if executed immediately after SP_optimizefullsync timetracking.
· I can force the optimizer to operate by including its command in the SQL command, such as “select * from timetracking VERIFY where txndate >= {d ‘2007-06-01’}” or “select * from timetracking VERIFY”. These commands launch the optimizer, it does its thing and then the command executes as if it were not at all optimized. These commands will run for hours.
· The SQL command “select * from timetracking VERIFY WHERE Txndate >= {d '2007-06-01'}” ran the optimizer and then took one hour and twenty minutes to complete.
· Each record in the QODBC messages file includes the statement “Optimizer Passthrough Disabled Unknown Reason”
· I have tried these commands from the VB Demo program, from access using linked tables, from access using pass-through queries, and from code in VB .net with consistent results.
· My problems may have been coincident with turning on the option to host multi-user access.
· Despite multiple settings for the chunk size, the optimization still counts in 250 record increments
· A query (select * from timetracking VERIFY where txndate >= {d ‘2007-06-01’}) returned 1253 records and took 25 minutes, after optimization and when queried using a jumpin field. This query also had the optimize passthrough disabled line
· I changed the location for the optimization database back to the default, deleted the entire tree the optimization database had been in, rebooted, and tried a full optimization from the control panel. The directory tree I had just deleted and that was no longer even set to be the database location was recreated and populated with an optimization database.
I do not need to export the entire QB database, although I may at some point in the near future. Right now, my sole concern is getting this operation to complete in a timely manner.
I hope this diatribe has adequately outlined my challenges. However, if there is some specific information you are lacking, please give me a specific listing and I will get the info to you forthwith.
Thanks in advance for your assistance. Given the number of posts you appear to handle, it cannot be easy to provide assistance to all the users.
|