Thêm một hàng với một attrib đơn ute đến danh sách Indexes
tương đương với việc chọn Indexed
cho thuộc tính đó: Nó tạo một chỉ mục cho thuộc tính để tăng tốc tìm kiếm trong câu lệnh truy vấn.
Danh sách Indexes
có nghĩa là cho chỉ mục phức hợp. chỉ số hợp chất có ích khi bạn biết rằng bạn sẽ được tìm kiếm giá trị của các thuộc tính kết hợp trong WHERE
khoản của một truy vấn:
SELECT * FROM customer WHERE surname = "Doe" AND firstname = "Joe";
Tuyên bố này có thể làm cho việc sử dụng một chỉ số hợp chất surname, firstname
. Chỉ mục đó cũng sẽ hữu ích nếu bạn chỉ tìm kiếm surname
, nhưng không phải nếu bạn chỉ tìm kiếm firstname
. Hãy suy nghĩ về chỉ mục như thể nó là một cuốn sách điện thoại: Nó được sắp xếp theo họ đầu tiên, sau đó bằng tên đầu tiên. Vì vậy, thứ tự của các thuộc tính là quan trọng.
Trong trường hợp của bạn, bạn nên đi cho các chỉ mục đơn đầu tiên (nghĩa là, chọn Indexed
cho các thuộc tính bạn muốn tìm kiếm). Chỉ số hợp chất bạn đã cho thấy không bao giờ có thể được sử dụng nếu bạn chỉ tìm kiếm babyId
, chẳng hạn.
bạn có thể nhận ý tưởng từ đây [ http://stackoverflow.com/questions/8562711/what-are-indexes-in-the-xcode-core-data-data-model-inspector] –