Showing posts with label performance. Show all posts
Showing posts with label performance. Show all posts

Wednesday, March 28, 2012

Is there a performance hit if I run with a db on compatibility level 80 in sql server 2005?

The database in the sql 2005 test environment is running quicker than in the prod of sql server 2000 (same server setups) with compatibility level 90 but due to some programming bugs we will need to go back to level 80.

Is there a performance hit if I run with a db on compatibility level 80 in sql server 2005?

Thanks,

Vin

I was told this by someone :

You may see some difference depends on the usage...
When you change cmpt to 8.0, sql engine has to be changed...new sql engine features will not work..

http://msdn2.microsoft.com/en-us/library/ms143359.aspx

|||In my experience with actual benchmarks, I have not seen a performance difference between running in 8.0 and 9.0 mode. You lose access to many of the new features of 2005 (such as DMV's) when you are in 8.0 mode.sql

Monday, March 19, 2012

Is SSB the correct tool

We have an sql database where the performance is being impacted by a number of secondary applications performing complex queries for reporting and other business requirments off the database

We have considered a solution where when an update is made to the primary database we use an asynchronous trigger to kick off a SP. The SP will then use service broker to send a message to a secondary database which updates the data on that secondary database.

Note the data on the secondary database is a denormalised subset of the data.

We think Service broker is the right solution as we get the updates to the secondary database asynchronously, reliably and in order.

Is this a good solution for Service broker or can anyone advise a better solution.

thks

Hi Chris,

There are a number of out-of-the-box answers to this problem:
- transactional replication
- log shipping
- database mirroring

Service Broker would require you to write code to achieve the desired result. Have you looked at these out-of-the-box solutions first?

HTH,
~ Remus

Wednesday, March 7, 2012

Is QUICKSHIFT Real?

QuickShift is advertising a software product to radically improve SQL
performance. They claim to be Microsoft certed. Does anyone know if this
product is real? If it is it would lead one to ask why Microsoft has not
done something similiar to what they do to improve performance.
Thanks
SBIt is real; as to whether it works as advertised? I don't know... The
product uses dynamic compression to do its job. If your processors are
underutilized but you have other kinds of bottlenecks (e.g. IO, RAM), I
think it could work well... But companies have been trying compression for a
long time, with little success. Remember Stacker?
Adam Machanic
SQL Server MVP
http://www.datamanipulation.net
--
"SB99379" <SB99379@.discussions.microsoft.com> wrote in message
news:FBE6476E-13D7-42D0-9AFB-28AFCB76F0FF@.microsoft.com...
> QuickShift is advertising a software product to radically improve SQL
> performance. They claim to be Microsoft certed. Does anyone know if this
> product is real? If it is it would lead one to ask why Microsoft has not
> done something similiar to what they do to improve performance.
> Thanks
> SB

Friday, February 24, 2012

Is one multi-key index faster than having lots of single-key indexes

Hi Guys/Gals,

I'm trying to improve the performance of our MS SQL 2000 database.

I've got a table with 5 int colums(among other things) and most SP's query data based on all five.

After some initial tests, my results are somewhat inconsistent/inconclusive.

I'd like to ask someone who's been doing this for quite some time.

Is it better to have one multi-key index(5 ints) or have a separate index for each individual column?

Thank you in advance,
Vlad OrlovskyI believe it depends upon the version of SQL Server, but I am pretty confidant that SQL 2000 for sure will use multiple single segment keys when available. (though this would likely add some overhead over a single index). As always, I would confirm with your data and testing (showing execution plan in Query Analyzer). If you ever use the columns individually (and not always starting with the one that is leftmost) then you would want the individual indexes.|||The SQL Server query engine is going to pick the best index and use it. It won't use multiple indexes for a single WHERE clause. So it will only use one of your indexes. If you are normally querying with all 5 columns in your WHERE clause, you will typically get better performance if you include all 5 columns in a single index. As always, it depends on the data, number of rows, the cardinality of the data, etc. to determine how much difference this will make in performance. But generally SQL Server doesn't have to work as hard if the WHERE clause is covered in a single index.

cs|||Books online for SQL 2000 says it will.

"Do not use multiple aliases for a single table in the same query to simulate index intersection. This is no longer necessary because SQL Server automatically considers index intersection and can make use of multiple indexes on the same table in the same query. For example, given the sample query:
SELECT * FROM lineitem
WHERE partkey BETWEEN 17000 AND 17100 AND
shipdate BETWEEN '1/1/1994' AND '1/31/1994"

SQL Server can exploit indexes on both the partkey and shipdate columns, and then perform a hash match between the two subsets to obtain the index intersection."|||really? that's not been my experience in the real world. not sure what conditions must be met for this to happen. i've just been doing quite a bit of query tuning and based on the execution plan, I have rarely seen SQL Server actually use more than one index. but thanks for tracking that down Douglas, good to know what the BOL says.

i'm not sure the multiple alias thing is quite the same animal anyway. just sharing what I've seen based on personal experience. as always, it's worth trying different approaches to see what performs best in a particular case.

cs|||Thanks for your tips guys. "Execution plan" thing is a very useful feature.
I did some testing on 93K+ records. And it turns out that having one single multi-key index is better than multiple indexes when selecting all keys in the WHERE clause.

Once I got my multi-key index to sort in the right order, time spent on final "Sorting" of the data has disappeared(that was something like .0183 I/O Cost).

Sincerely,
Vlad Orlovsky|||Yes, sorting can be an issue when using multiple keys.