Showing posts with label queries. Show all posts
Showing posts with label queries. Show all posts

Wednesday, March 28, 2012

msde slower than Jet?

I have an VBA application which queries data from an msde server. Then
converts the data into an array and passes the array to a com server which
does computations.
This procedure worked failry fast under Jet (on the local client), but it is
noticeably slower with msde server residing on another machine.
During this process I see that the CPU on the client PC (which runs the VBA
and later the com-dll) is very busy while the data is retrieved.
Could it be that recordset-to-array conversion is the culprit?
or is the network transfer of a few Mb of data the problem?
If the latter, why is the client so busy dyring data retrieval?
If the former, is there a better way of transferring the data to a DLL
written in a C-like compiled/optmiized language?
Thanks in advance for any hints.
To perform a fair test, put MSDE local and compare Access local, or put
Access on the remote machine and test that way. Comparing one database over
the network to one that is on the local machine is not a fair test at all.
http://www.aspfaq.com/
(Reverse address to reply.)
"Ernesto" <tsh@.mathematicuslabs.com> wrote in message
news:W4qdnZ3DZKHbbW_dRVn-gg@.speakeasy.net...
>I have an VBA application which queries data from an msde server. Then
> converts the data into an array and passes the array to a com server which
> does computations.
> This procedure worked failry fast under Jet (on the local client), but it
> is
> noticeably slower with msde server residing on another machine.
> During this process I see that the CPU on the client PC (which runs the
> VBA
> and later the com-dll) is very busy while the data is retrieved.
> Could it be that recordset-to-array conversion is the culprit?
> or is the network transfer of a few Mb of data the problem?
> If the latter, why is the client so busy dyring data retrieval?
> If the former, is there a better way of transferring the data to a DLL
> written in a C-like compiled/optmiized language?
> Thanks in advance for any hints.
>
>
|||Hi Ernesto,
In addition to what Aaron mentioned, I've found jet to be faster in
applications that involve significant amounts of data accessed sequentially.
However, as soon as any sort of random access (or multiple users) gets
involved, the MSDE usually wins every time, often by a large mark.
HTH,
Greg Low (MVP)
MSDE Manager SQL Tools
www.whitebearconsulting.com
"Ernesto" <tsh@.mathematicuslabs.com> wrote in message
news:W4qdnZ3DZKHbbW_dRVn-gg@.speakeasy.net...
> I have an VBA application which queries data from an msde server. Then
> converts the data into an array and passes the array to a com server which
> does computations.
> This procedure worked failry fast under Jet (on the local client), but it
is
> noticeably slower with msde server residing on another machine.
> During this process I see that the CPU on the client PC (which runs the
VBA
> and later the com-dll) is very busy while the data is retrieved.
> Could it be that recordset-to-array conversion is the culprit?
> or is the network transfer of a few Mb of data the problem?
> If the latter, why is the client so busy dyring data retrieval?
> If the former, is there a better way of transferring the data to a DLL
> written in a C-like compiled/optmiized language?
> Thanks in advance for any hints.
>
>
|||Actually my questions did not have anything to do with the comparison, per
se.
As it turns out Jet does run faster on the same computer, but I"m not too
concerned about it since the setup is not of interest.
I did want to know if anyone had any suggestions on where the "bottlenecks"
may be, and if there are any ways to do this faster.
Even a "No, it-can't -be-done" answer would be useful.
Greg's comment about sequential access does give the possible reason since
that is roughly all I ever do, as the data are all time series and retrieved
one whole series at a time.
Still if there is a better way (like somehow skipping the recordset to array
conversion, assuming that IS the slow part) would be most appreciated.
|||Perhaps when Access talks to Jet, it knows how to get "pages" of data at a
time.
But when talking to SQL Server/MSDE, it instead tries to query for
everything - which is not very optimal.
Access is not the ideal tool for a database front-end. You need to write
queries yourself to get good design (No use a query builder, and controls
that show everything).
"Ernesto" <tsh@.mathematicuslabs.com> wrote in message
news:W4qdnZ3DZKHbbW_dRVn-gg@.speakeasy.net...
> I have an VBA application which queries data from an msde server. Then
> converts the data into an array and passes the array to a com server which
> does computations.
> This procedure worked failry fast under Jet (on the local client), but it
is
> noticeably slower with msde server residing on another machine.
> During this process I see that the CPU on the client PC (which runs the
VBA
> and later the com-dll) is very busy while the data is retrieved.
> Could it be that recordset-to-array conversion is the culprit?
> or is the network transfer of a few Mb of data the problem?
> If the latter, why is the client so busy dyring data retrieval?
> If the former, is there a better way of transferring the data to a DLL
> written in a C-like compiled/optmiized language?
> Thanks in advance for any hints.
>
>
|||If not written correctly, Access treats SQL Server like a file server.
Access/JET does all of the physical IO against the local MDB file which
helps in some cases, but when you try to stretch this approach to multiple
users, the model falls apart quickly.
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Ian Boyd" <admin@.SWIFTPA.NET> wrote in message
news:%23$KOg7ZaEHA.2364@.TK2MSFTNGP10.phx.gbl...[vbcol=seagreen]
> Perhaps when Access talks to Jet, it knows how to get "pages" of data at a
> time.
> But when talking to SQL Server/MSDE, it instead tries to query for
> everything - which is not very optimal.
> Access is not the ideal tool for a database front-end. You need to write
> queries yourself to get good design (No use a query builder, and controls
> that show everything).
>
> "Ernesto" <tsh@.mathematicuslabs.com> wrote in message
> news:W4qdnZ3DZKHbbW_dRVn-gg@.speakeasy.net...
which[vbcol=seagreen]
it
> is
> VBA
>

Monday, March 26, 2012

MSDE Release A max number of concurrent queries

Hi All. A friend of mine mentioned that Release A actually has the max number
of concurrent queries to be 25 instead of 7 as MSDE. Is this true? Thank you
hi Andrew,
Andrew @. Abaki wrote:
> Hi All. A friend of mine mentioned that Release A actually has the
> max number of concurrent queries to be 25 instead of 7 as MSDE. Is
> this true? Thank you
false.. MSDE (and there's only one of it, only different packages with
different eulas) allows up to 8 concurrent (of the ones included in the
count of the Governor it self) batches before the Governor Workload kicking
in ...
http://msdn.microsoft.com/library/?u...asp?frame=true
25 is a "magic number" guessed by Microsoft,
http://www.microsoft.com/sql/msde/ho.../msdeuse.mspx, at the question
Q. Can I use MSDE as a database for Web applications?
A. Yes, MSDE is an ideal solution for basic Web applications with up to 25
concurrent users.
this number obviously depends on the application code quality, access type,
data nature and design, activities on it, ...
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz/DbaMgr.shtmhttp://italy.mvps.org
DbaMgr2k ver 0.15.0 - DbaMgr ver 0.60.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
-- remove DMO to reply
|||The confusion comes from "concurrent queries" versus "concurrent users".
The workload governor operates off the former while users are typically
looking to configure based on the latter.
The workload governor allows essentially 480 (sub-second) database queries
or other (e.g., update) operations per minute without degradation. You can
ballpark what this means in terms of transactions. Assume a simple
transaction has perhaps 5 queries. A mid-level has perhaps 20, and a
complex transaction has about 40. So you can support between 10 and 100
transactions per minute with MSDE with no degradation. OLTP leans towards
the simple side (volume-wise you might have 70-80% of your transactions in
the simple category) so lets assume 75 transactions per minute.
The real question for MSDE thus is, how many users does it take to generate
75 transactions in a minute. If your users submit one transaction per
minute then you could support 75 users. If your users submit 2-3
transactions per minute then you get to the 25 users that Microsoft targets
as a maximum. If your workload leans towards the more complex transactions
then the numbers you support go down. If users do very infrequent
transactions then the numbers go up.
Microsoft's real target for MSDE was for apps that support 10 users or less.
There is a lot of history there in terms of the business target and the
technical requirements. One part of the requirements analysis dictated that
hard concurrent user limits cause major customer dissatisfaction. So MSDE
was not given a hard concurrent user limit nor was the governor set to make
performance fall off a cliff after 10 users. The result is that for many
applications MSDE supports far larger numbers of users than the technical
specs might indicate.
Hal Berenson, President
PredictableIT, LLC
www.predictableit.com
"Andrea Montanari" <andrea.sqlDMO@.virgilio.it> wrote in message
news:3sbpn3Fn11hqU1@.individual.net...
> hi Andrew,
> Andrew @. Abaki wrote:
> false.. MSDE (and there's only one of it, only different packages with
> different eulas) allows up to 8 concurrent (of the ones included in the
> count of the Governor it self) batches before the Governor Workload
> kicking in ...
> http://msdn.microsoft.com/library/?u...asp?frame=true
> 25 is a "magic number" guessed by Microsoft,
> http://www.microsoft.com/sql/msde/ho.../msdeuse.mspx, at the question
> Q. Can I use MSDE as a database for Web applications?
> A. Yes, MSDE is an ideal solution for basic Web applications with up to 25
> concurrent users.
> this number obviously depends on the application code quality, access
> type, data nature and design, activities on it, ...
> --
> Andrea Montanari (Microsoft MVP - SQL Server)
> http://www.asql.biz/DbaMgr.shtmhttp://italy.mvps.org
> DbaMgr2k ver 0.15.0 - DbaMgr ver 0.60.0
> (my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
> interface)
> -- remove DMO to reply
>
|||And, BTW, this is an oversimplification. Most queries take a tiny fraction
of a second. So you could really support quite a bit more than I show. But
my example allows for some decent conservative planning.
Hal Berenson, President
PredictableIT, LLC
www.predictableit.com
"Hal Berenson" <hberenson@.predictableit.com> wrote in message
news:u9qGL4x2FHA.632@.TK2MSFTNGP10.phx.gbl...
> The confusion comes from "concurrent queries" versus "concurrent users".
> The workload governor operates off the former while users are typically
> looking to configure based on the latter.
> The workload governor allows essentially 480 (sub-second) database queries
> or other (e.g., update) operations per minute without degradation. You
> can ballpark what this means in terms of transactions. Assume a simple
> transaction has perhaps 5 queries. A mid-level has perhaps 20, and a
> complex transaction has about 40. So you can support between 10 and 100
> transactions per minute with MSDE with no degradation. OLTP leans towards
> the simple side (volume-wise you might have 70-80% of your transactions in
> the simple category) so lets assume 75 transactions per minute.
> The real question for MSDE thus is, how many users does it take to
> generate 75 transactions in a minute. If your users submit one
> transaction per minute then you could support 75 users. If your users
> submit 2-3 transactions per minute then you get to the 25 users that
> Microsoft targets as a maximum. If your workload leans towards the more
> complex transactions then the numbers you support go down. If users do
> very infrequent transactions then the numbers go up.
> Microsoft's real target for MSDE was for apps that support 10 users or
> less. There is a lot of history there in terms of the business target and
> the technical requirements. One part of the requirements analysis
> dictated that hard concurrent user limits cause major customer
> dissatisfaction. So MSDE was not given a hard concurrent user limit nor
> was the governor set to make performance fall off a cliff after 10 users.
> The result is that for many applications MSDE supports far larger numbers
> of users than the technical specs might indicate.
> Hal Berenson, President
> PredictableIT, LLC
> www.predictableit.com
>
> "Andrea Montanari" <andrea.sqlDMO@.virgilio.it> wrote in message
> news:3sbpn3Fn11hqU1@.individual.net...
>

MSDE Release A

Dear Experts,
I heard that MSDE Release A removes the limitation of 7 concurrent
queries that affect MSDE when too many users connecting to the system at
the same time. Is this correct?
Thank you very muchNo, Release A does not make any changes to the Query Governor. You are
probably confusing this with SQL Server 2005 Express Edition which replaces
MSDE. Express does not have a Query Governor.
--
Hal Berenson, President
PredictableIT, LLC
http://www.predictableit.com
"Huy (Andrew) V Nguyen" <andrew.nv@.gmail.com> wrote in message
news:OspP3bHVGHA.5332@.TK2MSFTNGP10.phx.gbl...
> Dear Experts,
> I heard that MSDE Release A removes the limitation of 7 concurrent queries
> that affect MSDE when too many users connecting to the system at the same
> time. Is this correct?
> Thank you very much|||Thank you very much. This answers my question

Friday, March 23, 2012

MSDE Performance Against Concurrent Access

Thx Andrea, Thx William,
Since u told me, I've made some test on the SQL model I
have running and the queries use to take just 1/100 sec (I
use to have up to 10 queries in chain per ASP page) due to
the volume of the info related (this intranet wouldnt
reach 100.000 records total in 38 tables, ever I think)
and the easyness of the queries (it has as maximum 2
subqueries) but there is more inner joins, up to 5 in the
same query, there is also 100's of relations between the
tables (38 total tables).
I think this information make sence to migrate the model
to MSDE and use it without translating the cost of a SQL
licence to my client since it wouldnt worth it.
Any other sugest?
Thx in advance...

>--Original Message--
>Hello,
>Can anybody tell me about your own experience using IIS
>with MSDE as repository?
>Would the concurrent access of the anonymous internet
user
>to the MSDE engine affect its performance if the
>concurrent access reach more than 5 at a time?
>Im planning to deploy an Intranet Application for
>consultant office and Im affraid the MSDE to cause a
>dregradation in performance if it gets more than 5
>concurrent access.
>Thx in Advance.
>Mike.
>.
>
1) MSDE is free
2) JET is not intended for use in a web site for several reasons.
3) JET will outperform MSDE for some queries but it does not scale.
4) See 1.
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP
www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Mike" <anonymous@.discussions.microsoft.com> wrote in message
news:b13701c47973$8f7843c0$a501280a@.phx.gbl...[vbcol=seagreen]
> Thx Andrea, Thx William,
> Since u told me, I've made some test on the SQL model I
> have running and the queries use to take just 1/100 sec (I
> use to have up to 10 queries in chain per ASP page) due to
> the volume of the info related (this intranet wouldnt
> reach 100.000 records total in 38 tables, ever I think)
> and the easyness of the queries (it has as maximum 2
> subqueries) but there is more inner joins, up to 5 in the
> same query, there is also 100's of relations between the
> tables (38 total tables).
> I think this information make sence to migrate the model
> to MSDE and use it without translating the cost of a SQL
> licence to my client since it wouldnt worth it.
> Any other sugest?
> Thx in advance...
>
> user

Wednesday, March 21, 2012

MSDE or SQLServer Express

Hi
In our vb.net application we are using sqlserver2000 database. we are
planning to move to another free database engines.I have few queries.
1.in MSDE or SQLServer Express which one i have to select
2.Where can i get the documentation of how to dump my database in those
because those don't have a User interface.
3.can i redistribute those databases
4.can i access those stored in another system in a network.
5.what if 2 or 3 application directly accessing that at the same time.
hope i delivered my question properly.any help is appreciable
-regards
GRK
Hi Andrea ,
Thank you very much for your suggestion.I'll check the links you have
sent and come back to you with other queries.Thanks a lot
-GRK
"Andrea Montanari" wrote:

> hi,
> GRK wrote:
> SQLExpress is newer than MSDE, and MSDE will not be supported on Vista
> platform..
> I'd go for SQLExpress as it will be better supported anyway..
> for SQLExpress you can freely download the "official" management tool, SQL
> Server Management Studio Express at
> http://www.microsoft.com/downloads/details.aspx?familyid=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&displaylang=en
> for MSDE there's no official graphical tool available, but you can have a
> look at a free prj of mine, DbaMgr2k, available at
> http://www.asql.biz/en/DbaMgr.aspx
> both engines are free to use.. you have to freely register for distribution
> if you plan to;
> SQLExpress: http://go.microsoft.com/fwlink/?LinkId=64062
> MSDE :
> http://www.microsoft.com/sql/prodinfo/previousversions/msde/redistregister.mspx
> yes... you have to enable remote connections as, by default, both products
> disable network protocols at installation time.. you can modify this
> behaviour both at install time and later, at "runtime"..
> SQL Server is full client/server database engine.. it will handle that
> appropriately :D
> but you have to deal with concurrency scenarios in your apps..
> --
> Andrea Montanari (Microsoft MVP - SQL Server)
> http://www.asql.biz http://italy.mvps.org
> DbaMgr2k ver 0.20.0 - DbaMgr ver 0.64.0 and further SQL Tools
> -- remove DMO to reply
>
>
|||Small Doubt Mr Andrea,
I'm using visual studio.net 2003 is it compatible when i install
ServerExpress
-GRK
"Andrea Montanari" wrote:

> hi,
> GRK wrote:
> SQLExpress is newer than MSDE, and MSDE will not be supported on Vista
> platform..
> I'd go for SQLExpress as it will be better supported anyway..
> for SQLExpress you can freely download the "official" management tool, SQL
> Server Management Studio Express at
> http://www.microsoft.com/downloads/details.aspx?familyid=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&displaylang=en
> for MSDE there's no official graphical tool available, but you can have a
> look at a free prj of mine, DbaMgr2k, available at
> http://www.asql.biz/en/DbaMgr.aspx
> both engines are free to use.. you have to freely register for distribution
> if you plan to;
> SQLExpress: http://go.microsoft.com/fwlink/?LinkId=64062
> MSDE :
> http://www.microsoft.com/sql/prodinfo/previousversions/msde/redistregister.mspx
> yes... you have to enable remote connections as, by default, both products
> disable network protocols at installation time.. you can modify this
> behaviour both at install time and later, at "runtime"..
> SQL Server is full client/server database engine.. it will handle that
> appropriately :D
> but you have to deal with concurrency scenarios in your apps..
> --
> Andrea Montanari (Microsoft MVP - SQL Server)
> http://www.asql.biz http://italy.mvps.org
> DbaMgr2k ver 0.20.0 - DbaMgr ver 0.64.0 and further SQL Tools
> -- remove DMO to reply
>
>

Monday, March 19, 2012

MSDE MySQL like shell?

Is there a MySQL like shell for running queries in MSDE?
Thanks.HI

You can install client software from msSQL. I do not know about the licensing. MSDE is a stripped SQL server. You can only start 5 sessions against it.

PTHoff|||Does the SQL 2000 provide a shell like interface for running SQL commands? (I'm looking for a command line interface)|||Hi

ISQL is installed with MSDE.

PTHoff|||Turns out that ISQL is installed with SQL 2000 but not MSDE. Do you have any other suggestions that I could try?