Opened 17 years ago
Closed 17 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 by , 17 years ago
comment:2 by , 17 years ago
comment:3 by , 17 years ago
Owner: | changed from | to
---|---|
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 by , 17 years ago
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.