The C++ application calls the database to look up property data. One
troublesome query is a function that returns a table, finding data which
is assembled from four or five tables through a view that has a join,
and then updating the resulting @table from some other tables. There
are several queries inside the function, which are selected according
to which parameters are supplied (house #, street, zip, or perhaps parcel
number, or house #, street, town, city,...etc.). If a lot of parameters
are provided, and the property is not in the database, then several queries
may be attempted -- it keeps going until it runs out of queries or finds
something. Usually it takes ~1-2 sec for a hit, but maybe a minute in
some failure cases, depending on the distribution of data. (~100 mil
properties in the DB) Some queires operate on the assumption the input data
is slightly faulty, and take relatively a long time, e.g., if WHERE
ZIP=@Zip fails, we try WHERE ZIP LIKE substring(@Zip, 1,3)+'%'. While
all this is going on the application may decide the DB is never going to
return, and time out; it also seems more likely to throw an exception the
longer it has to wait. Is there a way to cause the DB function to fail if
it takes more than a certain amount of time? I could also recast it as
a procedure, and check the time consumed after every query, and abandon
the search if a certain amount of time has elapsed.
Thanks in advance,
Jim Geissman 3 1538 ji**********@co untrywide.com (Jim Geissman) wrote in message news:<b8******* *************** ****@posting.go ogle.com>... The C++ application calls the database to look up property data. One troublesome query is a function that returns a table, finding data which is assembled from four or five tables through a view that has a join, and then updating the resulting @table from some other tables. There are several queries inside the function, which are selected according to which parameters are supplied (house #, street, zip, or perhaps parcel number, or house #, street, town, city,...etc.). If a lot of parameters are provided, and the property is not in the database, then several queries may be attempted -- it keeps going until it runs out of queries or finds something. Usually it takes ~1-2 sec for a hit, but maybe a minute in some failure cases, depending on the distribution of data. (~100 mil properties in the DB) Some queires operate on the assumption the input data is slightly faulty, and take relatively a long time, e.g., if WHERE ZIP=@Zip fails, we try WHERE ZIP LIKE substring(@Zip, 1,3)+'%'. While all this is going on the application may decide the DB is never going to return, and time out; it also seems more likely to throw an exception the longer it has to wait. Is there a way to cause the DB function to fail if it takes more than a certain amount of time? I could also recast it as a procedure, and check the time consumed after every query, and abandon the search if a certain amount of time has elapsed.
Thanks in advance, Jim Geissman
You don't give any information about your version of MSSQL, and the
client library you're using, but you may be able to set a suitable
timeout period on the client side. Alternatively, look at the "query
governor cost limit Option" in Books Online - this terminates queries
that run for more than a given number of seconds.
Simon ji**********@co untrywide.com (Jim Geissman) wrote in message news:<b8******* *************** ****@posting.go ogle.com>... The C++ application calls the database to look up property data. One troublesome query is a function that returns a table, finding data which is assembled from four or five tables through a view that has a join, and then updating the resulting @table from some other tables. There are several queries inside the function, which are selected according to which parameters are supplied (house #, street, zip, or perhaps parcel number, or house #, street, town, city,...etc.). If a lot of parameters are provided, and the property is not in the database, then several queries may be attempted -- it keeps going until it runs out of queries or finds something. Usually it takes ~1-2 sec for a hit, but maybe a minute in some failure cases, depending on the distribution of data. (~100 mil properties in the DB) Some queires operate on the assumption the input data is slightly faulty, and take relatively a long time, e.g., if WHERE ZIP=@Zip fails, we try WHERE ZIP LIKE substring(@Zip, 1,3)+'%'. While all this is going on the application may decide the DB is never going to return, and time out; it also seems more likely to throw an exception the longer it has to wait. Is there a way to cause the DB function to fail if it takes more than a certain amount of time? I could also recast it as a procedure, and check the time consumed after every query, and abandon the search if a certain amount of time has elapsed.
Thanks in advance, Jim Geissman
See "remote query timeout Option" in the help text. However, relying
on this may cause inconsistent bahaviour.
This design pattern can also lead to heavy load on your database.
As a suggestion, have two separate sets of queries, one that assumes
good data (should be much quicker which you want to use most times?)
and one that may have incorrect data (will be slower, but not used
very often). In you screen have a checkbox to indicate what search
option to use. Alternatively perform better validation on the data
before submitting the form.
That sounds interesting. I'll look into it. You don't give any information about your version of MSSQL, and the client library you're using, but you may be able to set a suitable timeout period on the client side. Alternatively, look at the "query governor cost limit Option" in Books Online - this terminates queries that run for more than a given number of seconds.
Simon This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Michele Simionato |
last post by:
There are situations in which you have to setup a faily sophisticated
environment before running your tests. This may result in a long
startup
time. In my case (using PloneTestCase) the time taken to import all
the
needed libraries, create a plone site and set up the environment, is
so
long that practically I cannot use my good old Pentium II for running
the test cases. Notice that the problem is not in the time spent on
the
|
by: Nick Craig-Wood |
last post by:
I'm trying to avoid using shell metacharacters in os.popen in a portable
fashion.
os.popen() only seems to take a string as the command which would need
tricky quoting.
os.popen2() can take a string or a list - the relevant code in Unix
python (in popen2.py) being...
def _run_child(self, cmd):
|
by: Eloff |
last post by:
This is not really Python specific, but I know Python programmers are
among the best in the world. I have a fair understanding of the
concepts involved, enough to realize that I would benefit from the
experience of others :)
I have a shared series of objects in memory that may be > 100MB. Often
to perform a task for a client several of these objects must be used.
Since many clients can be making requests at once (>100 per second
during...
|
by: kermit |
last post by:
I asp.net pages that run on an intranet IIS server. Some op the pages use
XLM DOM doc.Load(sPath) to open and parse a XML file. Every time the
doc.Load(sPath) executes in IE6 a warning message comes up
"This page is accessing information that is not under it's control. . . "
How can I avoid this message. It is a great anoyance to the users. Do I
need to create some time of certificate to pass...
Help! Need direction.
|
by: Frank-René Schäfer |
last post by:
-- A class needs to have N members according to N types
mentioned in a typelist (possibly with one type occuring more than
once).
-- The classes should be generated **avoiding** multiple inheritance
(avoiding prosperation of virtual func tables).
-- At the same time, a class taking N types shall contain a virtual
member function that calls a function according to the number
of arguments
That means, something like:
| |
by: Bob Nelson |
last post by:
It's been a long time since I've posed a query here on c.l.c. My work
environment evolved to primarily C++ and Perl with very little C, so I've
forgotten quite a lot over time.
This revisits the much-discussed topic of decrementing a pointer to the
non-existent location before the start of an array. I've been re-reading
K.N. King's ``C Programming: A Modern Approach'' and came across
``reverse2.c'' on page 228, which raised a red flag. I...
|
by: Amir Michail |
last post by:
Hi,
Trying to open a file for writing that is already open for writing
should result in an exception.
It's all too easy to accidentally open a shelve for writing twice and
this can lead to hard to track down database corruption errors.
Amir
|
by: steve.j.donovan |
last post by:
Hi guys,
We have the following macro:
#define NEXT(type,p) (*((type*)(p))++)
It provides a way to poke variable sized data into an array of pcode
for a simple VM.
e.g,
|
by: robert.waters |
last post by:
Hello,
I have been experiencing crashes and code corruption in my project
(vbe6.dll; a decompile fixes the corruption); for the life of me I
cannot figure out why, and I can't pin down the offending code because
each crash immediately shuts down the database and forces me to
recompile in order to open it again. I am following proper coding
procedures, e.g. creating and destroying objects properly (AFAIK),
closing adodb recordsets...
|
by: =?Utf-8?B?Y2hlY2tyYWlzZXJAY29tbXVuaXR5Lm5vc3BhbQ== |
last post by:
I have a site which I secure with forms authentication. When the user's
sign on and hit one of the secure pages, I have this line in my code to
ensure that the browser does not cache the page; and someone cannot navigate
back to an cached image of the page in theory after the user has signed off.
Response.Cache.SetCacheability(HttpCacheability.NoCache);
This works all right, except when the user decides to use the browser's back...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
| |
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
| |
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |