Opened 16 years ago
Closed 16 years ago
#796 closed enhancement (fixed)
Don't create indexes on primary key columns for tables in the dynamic database
Reported by: | Nicklas Nordborg | Owned by: | Nicklas Nordborg |
---|---|---|---|
Priority: | critical | Milestone: | BASE 2.4.4 |
Component: | core | Version: | |
Keywords: | Cc: |
Description
The performance testing (#294) discovered that a lot of indexes are created in the dynamic database. It seems redundant since the columns are already part of the primary key of the table(s). Initial tests shows that removing the indexes, increases the performance by a factor of 2-10. Additional tests may be needed.
- Extend the tests to larger data sets
- Make sure nothing bad happens if using Postgres
If we find that it is safe to remove the indexes a utility for removing them from already existing tables must be created.
Change History (4)
comment:1 Changed 16 years ago by
comment:2 Changed 16 years ago by
comment:3 Changed 16 years ago by
Owner: | changed from everyone to Nicklas Nordborg |
---|---|
Status: | new → assigned |
The tool can be used by:
cd <basedir>/bin ./dynamicdb.sh -v -dropindexes
It takes some time to execute. I had four tables (=one experiment) and it required ~10 minutes.
comment:4 Changed 16 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
The tests shows that the fixes improve performance, i.e., creation of root bioassays and filtering steps that took forever before will only take reasonable time now (in some cases the improvement in execution time is 100-fold).
(In [3810]) References #796: Don't create indexes on primary key columns for tables in the dynamic database
Indexes (other than primary keys) are no longer created for tables in the dynamic database.