Hi!
I need to delete a considerable number of rows from a table, and it is taking
too long. The operation takes equally long from ij, so I think it is
independent of my application code.
So for instance in the case below, it took about 23 seconds to execute the
delete statement, which was deleting 156112 rows out of 380600:
ij> select count(*) from listhit;
1
-----------
380600
ij> delete from listhit where listresultid = 11501573;
156112 rows inserted/updated/deleted
23 seconds
The definition of the table is as follows:
create table ListHit (
LISTRESULTID int,
INDX int,
HIT blob,
TAG varchar(250),
ATTS blob );
CREATE INDEX listhit_listresultid ON listhit(listresultid);
CREATE INDEX listhit_listresultid_indx ON listhit(listresultid,indx);
And from ij:
ij> describe listhit;
COLUMN_NAME |TYPE_NAME|DEC&|NUM&|COLUM&|COLUMN_DEF|CHAR_OCTE&|IS_NULL&
------------------------------------------------------------------------------
LISTRESULTID |INTEGER |0 |10 |10 |NULL |NULL |YES
INDX |INTEGER |0 |10 |10 |NULL |NULL |YES
HIT |BLOB |NULL|NULL|21474&|NULL |NULL |YES
TAG |VARCHAR |NULL|NULL|250 |NULL |500 |YES
ATTS |BLOB |NULL|NULL|21474&|NULL |NULL |YES
5 rows selected
ij> show indexes;
TABLE_NAME |COLUMN_NAME | NON_U&|TYPE|ASC&|CARDINA&|PAGES
----------------------------------------------------------------------------------------
LISTHIT |LISTRESULTID |1 |3 |A |NULL |NULL
LISTHIT |LISTRESULTID |1 |3 |A |NULL |NULL
LISTHIT |INDX |1 |3 |A |NULL
|NULL
Any ideas?
Thanks for your help,
Monica
________________________________
Accelrys Limited (http://accelrys.com)
Registered office: 334 Cambridge Science Park, Cambridge, CB4 0WN, UK
Registered in England: 2326316