Database Indexing Script

Overview

Sample script for applying indexation to a MSSQL implementation of FarCry.

Copied from http://www.coldfusionmuse.com/files/farcry_MSSQL_indexing.html

ALTER TABLE [dbo].[categories] WITH NOCHECK ADD 
	CONSTRAINT [PK_categories] PRIMARY KEY  CLUSTERED 
	(
		[categoryID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[container] WITH NOCHECK ADD 
	CONSTRAINT [PK_container] PRIMARY KEY  CLUSTERED 
	(
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[container_aRules] WITH NOCHECK ADD 
	CONSTRAINT [PK_container_aRules] PRIMARY KEY  CLUSTERED 
	(
		[data],
		[objectid]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[dmEvent_aObjectIDs] WITH NOCHECK ADD 
	CONSTRAINT [PK_dmEvent_aObjectIDs] PRIMARY KEY  CLUSTERED 
	(
		[data],
		[objectid]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[dmExternalGroupToPolicyGroup] WITH NOCHECK ADD 
	CONSTRAINT [PK_dmExternalGroupToPolicyGroup] PRIMARY KEY  CLUSTERED 
	(
		[PolicyGroupId],
		[ExternalGroupUserDirectory],
		[ExternalGroupName]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[dmHTML_aObjectIDs] WITH NOCHECK ADD 
	CONSTRAINT [PK_dmHTML_aObjectIDs] PRIMARY KEY  CLUSTERED 
	(
		[data],
		[objectid]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[dmHTML_aRelatedIDs] WITH NOCHECK ADD 
	CONSTRAINT [PK_dmHTML_aRelatedIDs] PRIMARY KEY  CLUSTERED 
	(
		[data],
		[objectid]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[dmNavigation_aObjectIDs] WITH NOCHECK ADD 
	CONSTRAINT [PK_dmNavigation_aObjectIDs] PRIMARY KEY  CLUSTERED 
	(
		[data],
		[objectid]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[dmNews_aObjectIds] WITH NOCHECK ADD 
	CONSTRAINT [PK_dmNews_aObjectIds] PRIMARY KEY  CLUSTERED 
	(
		[data],
		[objectid]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[dmNews_aRelatedIDs] WITH NOCHECK ADD 
	CONSTRAINT [PK_dmNews_aRelatedIDs] PRIMARY KEY  CLUSTERED 
	(
		[data],
		[objectid]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[refCategories] WITH NOCHECK ADD 
	CONSTRAINT [PK_refCategories] PRIMARY KEY  CLUSTERED 
	(
		[categoryid],
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[refContainers] WITH NOCHECK ADD 
	CONSTRAINT [PK_refContainers] PRIMARY KEY  CLUSTERED 
	(
		[objectid],
		[containerid]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[refObjects] WITH NOCHECK ADD 
	CONSTRAINT [PK_refObjects] PRIMARY KEY  CLUSTERED 
	(
		[objectid],
		[typename]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[ruleChildLinks] WITH NOCHECK ADD 
	CONSTRAINT [PK_ruleChildLinks] PRIMARY KEY  CLUSTERED 
	(
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[ruleEvents] WITH NOCHECK ADD 
	CONSTRAINT [PK_ruleEvents] PRIMARY KEY  CLUSTERED 
	(
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[ruleEventsCalendar] WITH NOCHECK ADD 
	CONSTRAINT [PK_ruleEventsCalendar] PRIMARY KEY  CLUSTERED 
	(
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[ruleHandpicked] WITH NOCHECK ADD 
	CONSTRAINT [PK_ruleHandpicked] PRIMARY KEY  CLUSTERED 
	(
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[ruleLinks] WITH NOCHECK ADD 
	CONSTRAINT [PK_ruleLinks] PRIMARY KEY  CLUSTERED 
	(
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[ruleNews] WITH NOCHECK ADD 
	CONSTRAINT [PK_ruleNews] PRIMARY KEY  CLUSTERED 
	(
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[ruleRandomFact] WITH NOCHECK ADD 
	CONSTRAINT [PK_ruleRandomFact] PRIMARY KEY  CLUSTERED 
	(
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[ruleText] WITH NOCHECK ADD 
	CONSTRAINT [PK_ruleText] PRIMARY KEY  CLUSTERED 
	(
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[ruleXMLFeed] WITH NOCHECK ADD 
	CONSTRAINT [PK_ruleXMLFeed] PRIMARY KEY  CLUSTERED 
	(
		[objectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[statsSearch] WITH NOCHECK ADD 
	CONSTRAINT [PK_statsSearch] PRIMARY KEY  CLUSTERED 
	(
		[logId]
	)  ON [PRIMARY] 
GO


ALTER TABLE [dbo].[dmFacts] ADD 
	CONSTRAINT [PK_dmFacts] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[config] ADD 
	CONSTRAINT [PK_config] PRIMARY KEY  NONCLUSTERED 
	(
		[configName]
	)  ON [PRIMARY] 
GO

 CREATE  CLUSTERED  INDEX [inx_facts_datetime] ON [dbo].[dmFacts]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_Arch_lastupdated] ON [dbo].[dmArchive]([datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_css_datetime] ON [dbo].[dmCSS]([datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_Cron_dateupdated] ON [dbo].[dmCron]([datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_email_datetime] ON [dbo].[dmEmail]([datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_event_datetime] ON [dbo].[dmEvent]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_file_datetime] ON [dbo].[dmFile]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_flash_datetime] ON [dbo].[dmFlash]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_html_datetime] ON [dbo].[dmHTML]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_image_datetime] ON [dbo].[dmImage]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_include_datetime] ON [dbo].[dmInclude]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_link_datetime] ON [dbo].[dmLink]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_navigation_datetime] ON [dbo].[dmNavigation]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_news_datetime] ON [dbo].[dmNews]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_profile_datetime] ON [dbo].[dmProfile]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_redirect_datetime] ON [dbo].[dmRedirect]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_XML_datetime] ON [dbo].[dmXMLExport]([datetimecreated], [datetimelastupdated]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_audit_objectid] ON [dbo].[fqAudit]([objectid]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [ix_nto] ON [dbo].[nested_tree_objects]([nLeft], [nRight]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [inx_friendlyUrl] ON [dbo].[reffriendlyURL]([friendlyurl]) ON [PRIMARY]
GO

 CREATE  CLUSTERED  INDEX [stats0] ON [dbo].[stats]([pageid], [logDateTime]) ON [PRIMARY]
GO


 CREATE  INDEX [inx_facts_title] ON [dbo].[dmFacts]([title]) ON [PRIMARY]
GO

 CREATE  INDEX [inx_container_label] ON [dbo].[container]([label]) ON [PRIMARY]
GO

 CREATE  INDEX [inx_aRules_data] ON [dbo].[container_aRules]([data]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmArchive] ADD 
	CONSTRAINT [PK_dmArchive] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[dmCSS] ADD 
	CONSTRAINT [PK_dmCSS] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_css_title] ON [dbo].[dmCSS]([title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmCron] ADD 
	CONSTRAINT [PK_dmCron] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_chron_title] ON [dbo].[dmCron]([title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmEmail] ADD 
	CONSTRAINT [PK_dmEmail] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_email_title] ON [dbo].[dmEmail]([Title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmEvent] ADD 
	CONSTRAINT [PK_dmEvent] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_event_title] ON [dbo].[dmEvent]([Title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmFile] ADD 
	CONSTRAINT [PK_dmFile] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_file_title] ON [dbo].[dmFile]([title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmFlash] ADD 
	CONSTRAINT [PK_dmFlash] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_flash_title] ON [dbo].[dmFlash]([Title]) ON [PRIMARY]
GO

 CREATE  UNIQUE  INDEX [idx_groupId] ON [dbo].[dmGroup]([groupId]) ON [PRIMARY]
GO

 CREATE  UNIQUE  INDEX [idx_groupName] ON [dbo].[dmGroup]([groupName]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmHTML] ADD 
	CONSTRAINT [PK_dmHTML] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_html_title] ON [dbo].[dmHTML]([Title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmImage] ADD 
	CONSTRAINT [PK_dmImage] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_image_title] ON [dbo].[dmImage]([title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmInclude] ADD 
	CONSTRAINT [PK_dmInclude] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_include_title] ON [dbo].[dmInclude]([title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmLink] ADD 
	CONSTRAINT [PK_dmLink] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_link_title] ON [dbo].[dmLink]([title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmNavigation] ADD 
	CONSTRAINT [PK_dmNavigation] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_navigation_title] ON [dbo].[dmNavigation]([title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmNews] ADD 
	CONSTRAINT [PK_dmNews] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_news_title] ON [dbo].[dmNews]([Title]) ON [PRIMARY]
GO


 CREATE  UNIQUE  INDEX [idx_Permission] ON [dbo].[dmPermission]([PermissionName], [PermissionType]) ON [PRIMARY]
GO

 CREATE  UNIQUE  INDEX [idx_PermissionId] ON [dbo].[dmPermission]([PermissionId]) ON [PRIMARY]
GO

 CREATE  UNIQUE  INDEX [idx_Barnacle] ON [dbo].[dmPermissionBarnacle]([PermissionId], [Reference1], [PolicyGroupId]) ON [PRIMARY]
GO

 CREATE  UNIQUE  INDEX [idx_PolicyGroupId] ON [dbo].[dmPolicyGroup]([PolicyGroupId]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmProfile] ADD 
	CONSTRAINT [PK_dmProfile] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[dmRedirect] ADD 
	CONSTRAINT [PK_dmRedirect] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  UNIQUE  INDEX [idx_UserId] ON [dbo].[dmUser]([userId]) ON [PRIMARY]
GO

 CREATE  UNIQUE  INDEX [idx_UserLogin] ON [dbo].[dmUser]([userLogin]) ON [PRIMARY]
GO

 CREATE  UNIQUE  INDEX [idx_userToGroup] ON [dbo].[dmUserToGroup]([userId], [groupId]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[dmXMLExport] ADD 
	CONSTRAINT [PK_dmXMLExport] PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_xml_title] ON [dbo].[dmXMLExport]([title]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[fqAudit] ADD 
	CONSTRAINT [PK_fqAudit] PRIMARY KEY  NONCLUSTERED 
	(
		[AuditID]
	)  ON [PRIMARY] 
GO

ALTER TABLE [dbo].[nested_tree_objects] ADD 
	 PRIMARY KEY  NONCLUSTERED 
	(
		[ObjectID]
	)  ON [PRIMARY] ,
	 CHECK ([nLeft] < [nRight])
GO

 CREATE  INDEX [inx_nestedtreeobj_parentid] ON [dbo].[nested_tree_objects]([ParentID]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[reffriendlyURL] ADD 
	CONSTRAINT [PK_reffriendlyURL] PRIMARY KEY  NONCLUSTERED 
	(
		[objectid],
		[refobjectid]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_ruleChildLinks_label] ON [dbo].[ruleChildLinks]([label]) ON [PRIMARY]
GO


 CREATE  INDEX [inx_ruleEvents_label] ON [dbo].[ruleEvents]([label]) ON [PRIMARY]
GO

ALTER TABLE [dbo].[stats] ADD 
	CONSTRAINT [PK_stats] PRIMARY KEY  NONCLUSTERED 
	(
		[logId]
	)  ON [PRIMARY] 
GO

 CREATE  INDEX [inx_stats_navid] ON [dbo].[stats]([navid]) ON [PRIMARY]
GO

 CREATE  INDEX [statsSearch0] ON [dbo].[statsSearch]([searchString], [logDateTime]) ON [PRIMARY]
GO