Update OMOP CDM indexes required - SQL Server.sql

We added some more required indexes, which were identified by running the 'Estimated Execution Plan' in the  Microsoft SQL Management Studio.

Some related discussions are here: http://forums.ohdsi.org/t/incremental-achilles/1847
This commit is contained in:
Rae Woong Park 2016-11-06 23:18:54 +09:00 committed by GitHub
parent a8d6557a56
commit d489f002a3
1 changed files with 175 additions and 0 deletions

View File

@ -185,3 +185,178 @@ CREATE INDEX idx_dose_era_concept_id ON dose_era (drug_concept_id ASC);
CREATE CLUSTERED INDEX idx_condition_era_person_id ON condition_era (person_id ASC);
CREATE INDEX idx_condition_era_concept_id ON condition_era (condition_concept_id ASC);
/****************************************************************************************************************************************
***************************************************** Non Cluster Index **************************************************************
****************************************************************************************************************************************
**********************************/
/* PERSON */
USE [Camel_DB]
GO
CREATE NONCLUSTERED INDEX [<PERSON_1, sysname,>]
ON [dbo].[PERSON] ([person_id])
INCLUDE ([year_of_birth],[gender_concept_id] );
GO;
CREATE NONCLUSTERED INDEX [<PERSON_2, sysname,>]
ON [dbo].[PERSON] ([location_id])
INCLUDE ([person_id]);
GO;
CREATE NONCLUSTERED INDEX [<PERSON_3, sysname,>]
ON [dbo].[PERSON] ([provider_id]);
GO;
CREATE NONCLUSTERED INDEX [<PERSON_4, sysname,>]
ON [dbo].[PERSON] ([care_site_id]);
GO;
/* OBSERVATION */
USE [Camel_DB];
GO;
CREATE NONCLUSTERED INDEX [<OBSERVATION_1, sysname,>]
ON [dbo].[OBSERVATION] ([provider_id]);
GO;
CREATE NONCLUSTERED INDEX [<OBSERVATION_2, sysname,>]
ON [dbo].[OBSERVATION] ([visit_occurrence_id]);
GO;
CREATE NONCLUSTERED INDEX [<OBSERVATION_3, sysname,>]
ON [dbo].[OBSERVATION] ([value_as_number],[unit_concept_id])
INCLUDE ([observation_concept_id]);
GO;
/* OBSERVATION_PERIOD */
CREATE NONCLUSTERED INDEX [<OBSERVATION_PERIOD_4, sysname,>]
ON [dbo].[OBSERVATION_PERIOD] ([PERSON_ID])
INCLUDE ([OBSERVATION_PERIOD_START_DATE]);
GO;
CREATE NONCLUSTERED INDEX [<OBSERVATION_PERIOD_5, sysname,>]
ON [dbo].[OBSERVATION_PERIOD] ([OBSERVATION_PERIOD_START_DATE],[OBSERVATION_PERIOD_END_DATE])
INCLUDE ([PERSON_ID]);
GO;
/* VISIT */
CREATE NONCLUSTERED INDEX [<VISIT_1, sysname,>]
ON [dbo].[VISIT_OCCURRENCE] ([care_site_id]);
GO;
/* CONDITION */
CREATE NONCLUSTERED INDEX [<CONDITION_1, sysname,>]
ON [dbo].[CONDITION_OCCURRENCE] ([provider_id]);
GO;
CREATE NONCLUSTERED INDEX [<CONDITION_2, sysname,>]
ON [dbo].[CONDITION_OCCURRENCE] ([visit_occurrence_id]);
GO;
/* CONDITION_ERA */
CREATE NONCLUSTERED INDEX [<CONDITION_ERA_1, sysname,>]
ON [dbo].[CONDITION_ERA] ([person_id])
INCLUDE ([condition_concept_id],[condition_era_start_date]);
GO;
/* PROCEDURE */
CREATE NONCLUSTERED INDEX [<PROCEDURE_1, sysname,>]
ON [dbo].[PROCEDURE_OCCURRENCE] ([provider_id], [visit_occurrence_id]);
GO;
/* DRUG */
CREATE NONCLUSTERED INDEX [<DRUG_1, sysname,>]
ON [dbo].[DRUG_EXPOSURE] ([provider_id]);
GO;
CREATE NONCLUSTERED INDEX [<DRUG_2, sysname,>]
ON [dbo].[DRUG_EXPOSURE] ([visit_occurrence_id])
GO;
CREATE NONCLUSTERED INDEX [<DRUG_3, sysname,>]
ON [dbo].[DRUG_EXPOSURE] ([days_supply])
INCLUDE ([drug_concept_id])
GO;
CREATE NONCLUSTERED INDEX [<DRUG_4, sysname,>]
ON [dbo].[DRUG_EXPOSURE] ([refills])
INCLUDE ([drug_concept_id])
GO;
CREATE NONCLUSTERED INDEX [<DRUG_5, sysname,>]
ON [dbo].[DRUG_EXPOSURE] ([quantity])
INCLUDE ([drug_concept_id])
GO;
CREATE NONCLUSTERED INDEX [<DRUG_6, sysname,>]
ON [dbo].[DRUG_EXPOSURE] ([drug_concept_id])
INCLUDE ([drug_source_value])
GO;
/* DRUG_ERA */
CREATE NONCLUSTERED INDEX [<DRUG_ERA_1, sysname,>]
ON [dbo].[DRUG_ERA] ([person_id])
INCLUDE ([drug_concept_id],[drug_era_start_date])
GO;
/* MEASUREMENT */
CREATE NONCLUSTERED INDEX [<MEASUREMENT_1, sysname,>]
ON [dbo].[MEASUREMENT] ([person_id])
INCLUDE ([measurement_concept_id],[measurement_date]);
GO;
CREATE NONCLUSTERED INDEX [<MEASUREMENT_2, sysname,>]
ON [dbo].[MEASUREMENT] ([provider_id]);
GO;
CREATE NONCLUSTERED INDEX [<MEASUREMENT_3, sysname,>]
ON [dbo].[MEASUREMENT] ([visit_occurrence_id]);
GO;
CREATE NONCLUSTERED INDEX [<MEASUREMENT_4, sysname,>]
ON [dbo].[MEASUREMENT] ([value_as_number],[value_as_concept_id]);
GO;
CREATE NONCLUSTERED INDEX [<MEASUREMENT_5, sysname,>]
ON [dbo].[MEASUREMENT] ([value_as_number],[unit_concept_id])
INCLUDE ([measurement_concept_id]);
GO;
CREATE NONCLUSTERED INDEX [<MEASUREMENT_6, sysname,>]
ON [dbo].[MEASUREMENT] ([value_as_number],[unit_concept_id],[range_low],[range_high])
INCLUDE ([measurement_concept_id]);
GO;
CREATE NONCLUSTERED INDEX [<MEASUREMENT_7, sysname,>]
ON [dbo].[MEASUREMENT] ([value_as_number]);
GO;
/* PROVIDER */
CREATE NONCLUSTERED INDEX [<PROVIDER_1, sysname,>]
ON [dbo].[PROVIDER] ([care_site_id]);
GO;
/* PAYER_PLAN_PERIOD */
CREATE NONCLUSTERED INDEX [<PAYER_PLAN_PERIOD_1, sysname,>]
ON [dbo].[PAYER_PLAN_PERIOD] ([person_id])
INCLUDE ([payer_plan_period_start_date],[payer_plan_period_end_date]);
GO;
/* ACHILLES_results */
CREATE NONCLUSTERED INDEX [<ACHILLES_RESULTS, sysname,>]
ON [dbo].[ACHILLES_results] ([count_value]);
GO;