mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Added indexes for foreign keys (postgres doesn't handle this implicitly), optional DB schema update to improve performance.
Indexes needed based on schema foreign keys: # History table CREATE INDEX ix_history_user_id ON history USING btree(user_id); CREATE INDEX ix_history_update_time ON history USING btree(update_time); CREATE INDEX ix_history_deleted ON history USING btree(deleted); CREATE INDEX ix_history_purged ON history USING btree(purged); # Dataset table CREATE INDEX ix_dataset_history_id ON dataset USING btree(history_id); CREATE INDEX ix_dataset_update_time ON dataset USING btree(update_time); CREATE INDEX ix_dataset_deleted ON dataset USING btree(deleted); CREATE INDEX ix_dataset_purged ON dataset USING btree(purged); CREATE INDEX ix_dataset_filename_id ON dataset USING btree(filename_id); # Dataset_child_association table CREATE INDEX ix_dataset_child_association_child_dataset_id ON dataset_child_association USING btree(child_dataset_id); CREATE INDEX ix_dataset_child_association_parent_dataset_id ON dataset_child_association USING btree(parent_dataset_id); # Validation_error table CREATE INDEX ix_validation_error_dataset_id ON validation_error USING btree(dataset_id); # Job table CREATE INDEX ix_job_history_id ON job USING btree(history_id); CREATE INDEX ix_job_session_id ON job USING btree(session_id); # Job_parameter table CREATE INDEX ix_job_parameter_job_id ON job_parameter USING btree(job_id); # Job_to_input_dataset table CREATE INDEX ix_job_to_input_dataset_dataset_id ON job_to_input_dataset USING btree(dataset_id); CREATE INDEX ix_job_to_input_dataset_job_id ON job_to_input_dataset USING btree(job_id); # Job_to_output_dataset table CREATE INDEX ix_job_to_output_dataset_dataset_id ON job_to_output_dataset USING btree(dataset_id); CREATE INDEX ix_job_to_output_dataset_job_id ON job_to_output_dataset USING btree(job_id); # Event table CREATE INDEX ix_event_history_id ON event USING btree(history_id); CREATE INDEX ix_event_session_id ON event USING btree(session_id); CREATE INDEX ix_event_user_id ON event USING btree(user_id); # Galaxy_session table CREATE INDEX ix_galaxy_session_user_id ON galaxy_session USING btree(user_id); # Galaxy_session_to_history table CREATE INDEX ix_galaxy_session_to_history_history_id ON galaxy_session_to_history USING btree(history_id); CREATE INDEX ix_galaxy_session_to_history_session_id ON galaxy_session_to_history USING btree(session_id); # Stored_workflow table CREATE INDEX ix_stored_workflow_latest_workflow_id ON stored_workflow USING btree(latest_workflow_id); CREATE INDEX ix_stored_workflow_user_id ON stored_workflow USING btree(user_id); # Workflow table CREATE INDEX ix_workflow_stored_workflow_id ON workflow USING btree(stored_workflow_id); # Workflow_step table CREATE INDEX ix_workflow_step_workflow_id ON workflow_step USING btree(workflow_id); # Workflow_step_connection table CREATE INDEX ix_workflow_step_connection_input_step_id ON workflow_step_connection USING btree(input_step_id); CREATE INDEX ix_workflow_step_connection_output_step_id ON workflow_step_connection USING btree(output_step_id);
This commit is contained in:
+32
-32
@@ -48,12 +48,12 @@ User.table = Table( "galaxy_user", metadata,
|
||||
History.table = Table( "history", metadata,
|
||||
Column( "id", Integer, primary_key=True),
|
||||
Column( "create_time", DateTime, default=now ),
|
||||
Column( "update_time", DateTime, default=now, onupdate=now ),
|
||||
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ) ),
|
||||
Column( "update_time", DateTime, index=True, default=now, onupdate=now ),
|
||||
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True ),
|
||||
Column( "name", TrimmedString( 255 ) ),
|
||||
Column( "hid_counter", Integer, default=1 ),
|
||||
Column( "deleted", Boolean, default=False ),
|
||||
Column( "purged", Boolean, default=False ),
|
||||
Column( "deleted", Boolean, index=True, default=False ),
|
||||
Column( "purged", Boolean, index=True, default=False ),
|
||||
Column( "genome_build", TrimmedString( 40 ) ) )
|
||||
|
||||
# model.Query.table = Table( "query", engine,
|
||||
@@ -66,9 +66,9 @@ History.table = Table( "history", metadata,
|
||||
Dataset.table = Table( "dataset", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "create_time", DateTime, default=now ),
|
||||
Column( "update_time", DateTime, default=now, onupdate=now ),
|
||||
Column( "update_time", DateTime, index=True, default=now, onupdate=now ),
|
||||
Column( "hid", Integer ),
|
||||
Column( "history_id", Integer, ForeignKey( "history.id" ) ),
|
||||
Column( "history_id", Integer, ForeignKey( "history.id" ), index=True ),
|
||||
Column( "name", TrimmedString( 255 ) ),
|
||||
Column( "info", TrimmedString( 255 ) ),
|
||||
Column( "blurb", TrimmedString( 255 ) ),
|
||||
@@ -79,10 +79,10 @@ Dataset.table = Table( "dataset", metadata,
|
||||
Column( "metadata", MetadataType(), key="_metadata" ),
|
||||
Column( "parent_id", Integer, nullable=True ),
|
||||
Column( "designation", TrimmedString( 255 ) ),
|
||||
Column( "deleted", Boolean, default=False ),
|
||||
Column( "purged", Boolean, default=False ),
|
||||
Column( "deleted", Boolean, index=True, default=False ),
|
||||
Column( "purged", Boolean, index=True, default=False ),
|
||||
Column( "visible", Boolean ),
|
||||
Column( "filename_id", Integer, ForeignKey( "dataset_filename.id" ), nullable=True ),
|
||||
Column( "filename_id", Integer, ForeignKey( "dataset_filename.id" ), index=True, nullable=True ),
|
||||
Column( 'file_size', Numeric( 15, 0 ) ),
|
||||
ForeignKeyConstraint(['parent_id'],['dataset.id'], ondelete="CASCADE") )
|
||||
|
||||
@@ -96,22 +96,22 @@ DatasetFileName.table = Table( "dataset_filename", metadata,
|
||||
|
||||
ValidationError.table = Table( "validation_error", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "dataset_id", Integer, ForeignKey( "dataset.id" ) ),
|
||||
Column( "dataset_id", Integer, ForeignKey( "dataset.id" ), index=True ),
|
||||
Column( "message", TrimmedString( 255 ) ),
|
||||
Column( "err_type", TrimmedString( 64 ) ),
|
||||
Column( "attributes", TEXT ) )
|
||||
|
||||
DatasetChildAssociation.table = Table( "dataset_child_association", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "parent_dataset_id", Integer, ForeignKey( "dataset.id" ) ),
|
||||
Column( "child_dataset_id", Integer, ForeignKey( "dataset.id" ) ),
|
||||
Column( "parent_dataset_id", Integer, ForeignKey( "dataset.id" ), index=True ),
|
||||
Column( "child_dataset_id", Integer, ForeignKey( "dataset.id" ), index=True ),
|
||||
Column( "designation", TrimmedString( 255 ) ) )
|
||||
|
||||
|
||||
Job.table = Table( "job", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "create_time", DateTime, default=now ),
|
||||
Column( "update_time", DateTime, default=now, onupdate=now ),
|
||||
Column( "history_id", Integer, ForeignKey( "history.id" ) ),
|
||||
Column( "history_id", Integer, ForeignKey( "history.id" ), index=True ),
|
||||
Column( "tool_id", String( 255 ) ),
|
||||
Column( "tool_version", String, default="1.0.0" ),
|
||||
Column( "state", String( 64 ) ),
|
||||
@@ -121,43 +121,43 @@ Job.table = Table( "job", metadata,
|
||||
Column( "stdout", String() ),
|
||||
Column( "stderr", String() ),
|
||||
Column( "traceback", String() ),
|
||||
Column( "session_id", Integer, ForeignKey( "galaxy_session.id" ), nullable=True ),
|
||||
Column( "session_id", Integer, ForeignKey( "galaxy_session.id" ), index=True, nullable=True ),
|
||||
Column( "job_runner_name", String( 255 ) ),
|
||||
Column( "job_runner_external_id", String( 255 ) ) )
|
||||
|
||||
JobParameter.table = Table( "job_parameter", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "job_id", Integer, ForeignKey( "job.id" ) ),
|
||||
Column( "job_id", Integer, ForeignKey( "job.id" ), index=True ),
|
||||
Column( "name", String(255) ),
|
||||
Column( "value", TEXT ) )
|
||||
|
||||
JobToInputDatasetAssociation.table = Table( "job_to_input_dataset", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "job_id", Integer, ForeignKey( "job.id" ) ),
|
||||
Column( "dataset_id", Integer, ForeignKey( "dataset.id" ) ),
|
||||
Column( "job_id", Integer, ForeignKey( "job.id" ), index=True ),
|
||||
Column( "dataset_id", Integer, ForeignKey( "dataset.id" ), index=True ),
|
||||
Column( "name", String(255) ) )
|
||||
|
||||
JobToOutputDatasetAssociation.table = Table( "job_to_output_dataset", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "job_id", Integer, ForeignKey( "job.id" ) ),
|
||||
Column( "dataset_id", Integer, ForeignKey( "dataset.id" ) ),
|
||||
Column( "job_id", Integer, ForeignKey( "job.id" ), index=True ),
|
||||
Column( "dataset_id", Integer, ForeignKey( "dataset.id" ), index=True ),
|
||||
Column( "name", String(255) ) )
|
||||
|
||||
Event.table = Table( "event", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "create_time", DateTime, default=now ),
|
||||
Column( "update_time", DateTime, default=now, onupdate=now ),
|
||||
Column( "history_id", Integer, ForeignKey( "history.id" ), nullable=True ),
|
||||
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), nullable=True ),
|
||||
Column( "history_id", Integer, ForeignKey( "history.id" ), index=True, nullable=True ),
|
||||
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True, nullable=True ),
|
||||
Column( "message", TrimmedString( 1024 ) ),
|
||||
Column( "session_id", Integer, ForeignKey( "galaxy_session.id" ), nullable=True ),
|
||||
Column( "session_id", Integer, ForeignKey( "galaxy_session.id" ), index=True, nullable=True ),
|
||||
Column( "tool_id", String( 255 ) ) )
|
||||
|
||||
GalaxySession.table = Table( "galaxy_session", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "create_time", DateTime, default=now ),
|
||||
Column( "update_time", DateTime, default=now, onupdate=now ),
|
||||
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), nullable=True ),
|
||||
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True, nullable=True ),
|
||||
Column( "remote_host", String( 255 ) ),
|
||||
Column( "remote_addr", String( 255 ) ),
|
||||
Column( "referer", TEXT ) )
|
||||
@@ -165,16 +165,16 @@ GalaxySession.table = Table( "galaxy_session", metadata,
|
||||
GalaxySessionToHistoryAssociation.table = Table( "galaxy_session_to_history", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "create_time", DateTime, default=now ),
|
||||
Column( "session_id", Integer, ForeignKey( "galaxy_session.id" ) ),
|
||||
Column( "history_id", Integer, ForeignKey( "history.id" ) ) )
|
||||
Column( "session_id", Integer, ForeignKey( "galaxy_session.id" ), index=True ),
|
||||
Column( "history_id", Integer, ForeignKey( "history.id" ), index=True ) )
|
||||
|
||||
StoredWorkflow.table = Table( "stored_workflow", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "create_time", DateTime, default=now ),
|
||||
Column( "update_time", DateTime, default=now, onupdate=now ),
|
||||
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), nullable=False ),
|
||||
Column( "user_id", Integer, ForeignKey( "galaxy_user.id" ), index=True, nullable=False ),
|
||||
Column( "latest_workflow_id", Integer,
|
||||
ForeignKey( "workflow.id", use_alter=True, name='stored_workflow_latest_workflow_id_fk' ) ),
|
||||
ForeignKey( "workflow.id", use_alter=True, name='stored_workflow_latest_workflow_id_fk' ), index=True ),
|
||||
Column( "name", String ),
|
||||
Column( "deleted", Boolean, default=False ),
|
||||
)
|
||||
@@ -183,7 +183,7 @@ Workflow.table = Table( "workflow", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "create_time", DateTime, default=now ),
|
||||
Column( "update_time", DateTime, default=now, onupdate=now ),
|
||||
Column( "stored_workflow_id", Integer, ForeignKey( "stored_workflow.id" ), nullable=False ),
|
||||
Column( "stored_workflow_id", Integer, ForeignKey( "stored_workflow.id" ), index=True, nullable=False ),
|
||||
Column( "name", String ),
|
||||
Column( "has_cycles", Boolean ),
|
||||
Column( "has_errors", Boolean )
|
||||
@@ -193,7 +193,7 @@ WorkflowStep.table = Table( "workflow_step", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "create_time", DateTime, default=now ),
|
||||
Column( "update_time", DateTime, default=now, onupdate=now ),
|
||||
Column( "workflow_id", Integer, ForeignKey( "workflow.id" ), nullable=False ),
|
||||
Column( "workflow_id", Integer, ForeignKey( "workflow.id" ), index=True, nullable=False ),
|
||||
Column( "tool_id", String ),
|
||||
Column( "tool_version", String ), # Reserved for future
|
||||
Column( "tool_inputs", JSONType ),
|
||||
@@ -205,8 +205,8 @@ WorkflowStep.table = Table( "workflow_step", metadata,
|
||||
|
||||
WorkflowStepConnection.table = Table( "workflow_step_connection", metadata,
|
||||
Column( "id", Integer, primary_key=True ),
|
||||
Column( "output_step_id", Integer, ForeignKey( "workflow_step.id" ) ),
|
||||
Column( "input_step_id", Integer, ForeignKey( "workflow_step.id" ) ),
|
||||
Column( "output_step_id", Integer, ForeignKey( "workflow_step.id" ), index=True ),
|
||||
Column( "input_step_id", Integer, ForeignKey( "workflow_step.id" ), index=True ),
|
||||
Column( "output_name", String ),
|
||||
Column( "input_name", String)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user