db slow ?

  • 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

  • christophe.bernard 47659 - Monday, February 12, 2018 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

    We need to know more, what are the specs, how much traffic, I/O performance, color of your ex-girlfriend hair etc.
    😎

  • christophe.bernard 47659 - Monday, February 12, 2018 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

    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

  • 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

  • christophe.bernard 47659 - Wednesday, February 14, 2018 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

    First thing to do is to run Glenn Berry

    SQL Server Diagnostic Information Queries
    😎

  • christophe.bernard 47659 - Monday, February 12, 2018 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

    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


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • christophe.bernard 47659 - Wednesday, February 14, 2018 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

    If all you want to know are things like column names and datatypes, then use sp_help 'tablename'.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply