---
title: "Index(_:)"
framework: swiftdata
role: symbol
role_heading: Macro
path: "swiftdata/index(_:)-7d4z0"
---

# Index(_:)

Specifies the key-paths that SwiftData uses to create one or more indicies for the associated model, where each index is either binary or R-tree.

## Declaration

```swift
@freestanding(declaration) macro Index<T>(_ indices: Schema.Index<T>.Types<T>...) where T : PersistentModel
```

## See Also

### Model definition

- [Model()](swiftdata/model().md)
- [Attribute(_:originalName:hashModifier:)](swiftdata/attribute(_:originalname:hashmodifier:).md)
- [Unique(_:)](swiftdata/unique(_:).md)
- [Index(_:)](swiftdata/index(_:)-74ia2.md)
- [Defining data relationships with enumerations and model classes](swiftdata/defining-data-relationships-with-enumerations-and-model-classes.md)
- [Relationship(_:deleteRule:minimumModelCount:maximumModelCount:originalName:inverse:hashModifier:)](swiftdata/relationship(_:deleterule:minimummodelcount:maximummodelcount:originalname:inverse:hashmodifier:).md)
- [Transient()](swiftdata/transient().md)
