diff --git a/data/storage/mysql/create_cdrs_tables.sql b/data/storage/mysql/create_cdrs_tables.sql index 54346c2a4..40598db44 100644 --- a/data/storage/mysql/create_cdrs_tables.sql +++ b/data/storage/mysql/create_cdrs_tables.sql @@ -52,5 +52,6 @@ CREATE TABLE sm_costs ( PRIMARY KEY (`id`), UNIQUE KEY costid (cgrid, run_id), KEY origin_idx (origin_host, origin_id), + KEY run_origin_idx (run_id, origin_id), KEY deleted_at_idx (deleted_at) ); diff --git a/data/storage/postgres/create_cdrs_tables.sql b/data/storage/postgres/create_cdrs_tables.sql index 264ed84fd..1cb0cff64 100644 --- a/data/storage/postgres/create_cdrs_tables.sql +++ b/data/storage/postgres/create_cdrs_tables.sql @@ -58,6 +58,8 @@ DROP INDEX IF EXISTS cgrid_smcost_idx; CREATE INDEX cgrid_smcost_idx ON sm_costs (cgrid, run_id); DROP INDEX IF EXISTS origin_smcost_idx; CREATE INDEX origin_smcost_idx ON sm_costs (origin_host, origin_id); +DROP INDEX IF EXISTS run_origin_smcost_idx; +CREATE INDEX run_origin_smcost_idx ON sm_costs (run_id, origin_id); DROP INDEX IF EXISTS deleted_at_smcost_idx; CREATE INDEX deleted_at_smcost_idx ON sm_costs (deleted_at); diff --git a/engine/storage_mongo_datadb.go b/engine/storage_mongo_datadb.go index bc3a9c8ad..c21f41efa 100644 --- a/engine/storage_mongo_datadb.go +++ b/engine/storage_mongo_datadb.go @@ -286,6 +286,16 @@ func (ms *MongoStorage) EnsureIndexes() (err error) { if err = db.C(utils.TBLSMCosts).EnsureIndex(idx); err != nil { return } + idx = mgo.Index{ + Key: []string{RunIDLow, OriginIDLow}, + Unique: false, + DropDups: false, + Background: false, + Sparse: false, + } + if err = db.C(utils.TBLSMCosts).EnsureIndex(idx); err != nil { + return + } } return }