Обсуждение: dropping an index inside a transaction
Hi All, If one drops an index inside a transaction, is that index still usable by other transactions? My use-case is loading millions of records into a heavily indexed table. I'd like to speed up the load by temporarily dropping the indices. I'm wondering if I can do this inside a transaction so that the rest of the application can still benefit from the indices. Cheers, Andy -- Andy Chambers Software Engineer (e) achambers@mcna.net
On Sat, Mar 17, 2012 at 8:37 PM, Andy Chambers <achambers@mcna.net> wrote: > Hi All, > > If one drops an index inside a transaction, is that index still usable > by other transactions? My use-case is loading millions of records > into a heavily indexed table. I'd like to speed up the load by > temporarily dropping the indices. I'm wondering if I can do this > inside a transaction so that the rest of the application can still > benefit from the indices.
On Sat, Mar 17, 2012 at 8:37 PM, Andy Chambers <achambers@mcna.net> wrote: > Hi All, > > If one drops an index inside a transaction, is that index still usable > by other transactions? My use-case is loading millions of records > into a heavily indexed table. I'd like to speed up the load by > temporarily dropping the indices. I'm wondering if I can do this > inside a transaction so that the rest of the application can still > benefit from the indices. If another transaction is already relying on the index you can't drop it. Once you drop it in a transaction all other queries against the tables will be waiting behind the exclusive lock on the transaction to finish to access the table.