February 12, 2018 at 8:29 am
Hello all,
we have a database under sql server 2008.
This db contains some tables and one table contains 600 000 records in our production environments.
This table is fill by some mobile device who synchronize every x minutes
All works fine since several months ...
But friday, i must to check some information on the production system => make some query.
If begin by made a select * from xxxxxx
This SELECT takes 1 minutes and 30 seconds ...for to retrieve => 600 000 records
After several seconds, we notice that the mobile device can't synchronize WHILE the SELECT query isn"t complete ...
what we sould do ?
- add memory in our production server ?
- export old datas for example datas old than 30 days into another system
- ...
Or WHAT do you suggest for to avoid that ?
Is it many (1 minute and 30 second) for to make a select * from xxxx for 600 000 records ?
Thanks for your explanation guys
February 12, 2018 at 8:48 am
christophe.bernard 47659 - Monday, February 12, 2018 8:29 AMHello all,
we have a database under sql server 2008.
This db contains some tables and one table contains 600 000 records in our production environments.
This table is fill by some mobile device who synchronize every x minutes
All works fine since several months ...But friday, i must to check some information on the production system => make some query.
If begin by made a select * from xxxxxx
This SELECT takes 1 minutes and 30 seconds ...for to retrieve => 600 000 recordsAfter several seconds, we notice that the mobile device can't synchronize WHILE the SELECT query isn"t complete ...
what we sould do ?
- add memory in our production server ?
- export old datas for example datas old than 30 days into another system
- ...Or WHAT do you suggest for to avoid that ?
Is it many (1 minute and 30 second) for to make a select * from xxxx for 600 000 records ?Thanks for your explanation guys
We need to know more, what are the specs, how much traffic, I/O performance, color of your ex-girlfriend hair etc.
😎
February 12, 2018 at 3:31 pm
christophe.bernard 47659 - Monday, February 12, 2018 8:29 AMHello all,
we have a database under sql server 2008.
This db contains some tables and one table contains 600 000 records in our production environments.
This table is fill by some mobile device who synchronize every x minutes
All works fine since several months ...But friday, i must to check some information on the production system => make some query.
If begin by made a select * from xxxxxx
This SELECT takes 1 minutes and 30 seconds ...for to retrieve => 600 000 recordsAfter several seconds, we notice that the mobile device can't synchronize WHILE the SELECT query isn"t complete ...
what we sould do ?
- add memory in our production server ?
- export old datas for example datas old than 30 days into another system
- ...Or WHAT do you suggest for to avoid that ?
Is it many (1 minute and 30 second) for to make a select * from xxxx for 600 000 records ?Thanks for your explanation guys
You take shared locks when you select so the devices can't get their locks to synchronize (insert, update, etc).
As Eirikur already stated, we don't know enough about the data or table to say much else.
But do you really need to do a select * on a 600,000 row table? Do you really need all rows and all columns to start your query? Even if it didn't take that long (which does seem long in your case), I don't see where anyone could look through that much data. If you don't read through all of that data then you may want to change how you are querying. I worked on a similar vendor app and you really couldn't do something like that. there was a window of time where the devices usually weren't syncing and any ad hoc access was done during this window.
Sue
February 14, 2018 at 2:45 am
Hello all,
thanks for your reply and sorry for this delay ..
@eirikur => sorry but my knowledge are basic ...how mucj traffic / I/O performance ...
i don't know actually how to get this information but i'm search
@sue => yes i'm agree ...no of course i can make a select top 100 for exemple but when i'm go to the production system for to search in the system
i don't know the structure of the table i need to search ...and in fact if i made a select => that's tell we need to check because something are strange ....
but next time, i will make a TOP 🙂
i'm trying to get more information and become with that
February 14, 2018 at 3:47 am
christophe.bernard 47659 - Wednesday, February 14, 2018 2:45 AMHello all,
thanks for your reply and sorry for this delay ..@eirikur => sorry but my knowledge are basic ...how mucj traffic / I/O performance ...
i don't know actually how to get this information but i'm search@sue => yes i'm agree ...no of course i can make a select top 100 for exemple but when i'm go to the production system for to search in the system
i don't know the structure of the table i need to search ...and in fact if i made a select => that's tell we need to check because something are strange ....
but next time, i will make a TOP 🙂i'm trying to get more information and become with that
First thing to do is to run Glenn Berry
February 14, 2018 at 6:23 am
christophe.bernard 47659 - Monday, February 12, 2018 8:29 AMHello all,
we have a database under sql server 2008.
This db contains some tables and one table contains 600 000 records in our production environments.
This table is fill by some mobile device who synchronize every x minutes
All works fine since several months ...But friday, i must to check some information on the production system => make some query.
If begin by made a select * from xxxxxx
This SELECT takes 1 minutes and 30 seconds ...for to retrieve => 600 000 recordsAfter several seconds, we notice that the mobile device can't synchronize WHILE the SELECT query isn"t complete ...
what we sould do ?
- add memory in our production server ?
- export old datas for example datas old than 30 days into another system
- ...Or WHAT do you suggest for to avoid that ?
Is it many (1 minute and 30 second) for to make a select * from xxxx for 600 000 records ?Thanks for your explanation guys
It's pretty simple... stop doing a select that returns all columns of all rows. Why on Earth are you doing such a thing? It's not like someone is going to read the information.,
--Jeff Moden
Change is inevitable... Change for the better is not.
February 14, 2018 at 6:25 am
christophe.bernard 47659 - Wednesday, February 14, 2018 2:45 AMHello all,
thanks for your reply and sorry for this delay ..@eirikur => sorry but my knowledge are basic ...how mucj traffic / I/O performance ...
i don't know actually how to get this information but i'm search@sue => yes i'm agree ...no of course i can make a select top 100 for exemple but when i'm go to the production system for to search in the system
i don't know the structure of the table i need to search ...and in fact if i made a select => that's tell we need to check because something are strange ....
but next time, i will make a TOP 🙂i'm trying to get more information and become with that
If all you want to know are things like column names and datatypes, then use sp_help 'tablename'.
--Jeff Moden
Change is inevitable... Change for the better is not.
Viewing 7 posts - 1 through 6 (of 6 total)
You must be logged in to reply to this topic. Login to reply