70 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: SQL CREATE INDEX Statement
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The CREATE INDEX statement is used to create indexes in tables.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Indexes are used to retrieve data from the database very fast. The users cannot see the indexes, they are just used to speed up searches/queries.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								> **Note:** Updating a table with indexes takes more time than updating a table without (because the indexes also need an update). So, only create indexes on columns that will be frequently searched against.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### CREATE INDEX Syntax
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Creates an index on a table. Duplicate values are allowed:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```sql
							 | 
						||
| 
								 | 
							
								CREATE INDEX index_name
							 | 
						||
| 
								 | 
							
								ON table_name (column1, column2, ...);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### CREATE UNIQUE INDEX Syntax
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Creates a unique index on a table. Duplicate values are not allowed:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```sql
							 | 
						||
| 
								 | 
							
								CREATE UNIQUE INDEX index_name
							 | 
						||
| 
								 | 
							
								ON table_name (column1, column2, ...);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								> **Note:** The syntax for creating indexes varies among different databases. Therefore: Check the syntax for creating indexes in your database.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### CREATE INDEX Example
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The SQL statement below creates an index named "idx_lastname" on the "LastName" column in the "Persons" table:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```sql
							 | 
						||
| 
								 | 
							
								CREATE INDEX idx_lastname
							 | 
						||
| 
								 | 
							
								ON Persons (LastName);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								If you want to create an index on a combination of columns, you can list the column names within the parentheses, separated by commas:
							 | 
						||
| 
								 | 
							
								CREATE INDEX idx_pname
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```sql
							 | 
						||
| 
								 | 
							
								ON Persons (LastName, FirstName);
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#### DROP INDEX Statement
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The DROP INDEX statement is used to delete an index in a table.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**MS Access:**
							 | 
						||
| 
								 | 
							
								```sql
							 | 
						||
| 
								 | 
							
								DROP INDEX index_name ON table_name;
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**SQL Server:**
							 | 
						||
| 
								 | 
							
								```sql
							 | 
						||
| 
								 | 
							
								DROP INDEX table_name.index_name;
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**DB2/Oracle:**
							 | 
						||
| 
								 | 
							
								```sql
							 | 
						||
| 
								 | 
							
								DROP INDEX index_name;
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								**MySQL:**
							 | 
						||
| 
								 | 
							
								```sql
							 | 
						||
| 
								 | 
							
								ALTER TABLE table_name
							 | 
						||
| 
								 | 
							
								DROP INDEX index_name; 
							 | 
						||
| 
								 | 
							
								```
							 |