Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Neo4j - Tạo chỉ mục bằng Cypher

Một chỉ mục là một cấu trúc dữ liệu giúp cải thiện tốc độ của các hoạt động truy xuất dữ liệu trong cơ sở dữ liệu.

Trong Neo4j, bạn có thể tạo chỉ mục trên một thuộc tính trên bất kỳ nút nào đã được cấp nhãn. Sau khi bạn tạo một chỉ mục, Neo4j sẽ quản lý nó và cập nhật nó bất cứ khi nào cơ sở dữ liệu được thay đổi.

Để tạo chỉ mục, hãy sử dụng CREATE INDEX ON tuyên bố. Như thế này:

CREATE INDEX ON :Album(Name)

Trong ví dụ trên, chúng tôi tạo một chỉ mục trên Tên thuộc tính của tất cả các nút có Album nhãn.

Khi câu lệnh thành công, thông báo sau được hiển thị:

Khi bạn tạo chỉ mục, Neo4j sẽ tạo chỉ mục trong nền. Nếu cơ sở dữ liệu của bạn lớn, quá trình này có thể mất một chút thời gian.

Chỉ khi Neo4j hoàn tất việc tạo chỉ mục, nó mới được đưa trực tuyến và nó có thể được sử dụng trong các truy vấn.

Xem chỉ mục

Các chỉ mục (và các ràng buộc) trở thành một phần của lược đồ cơ sở dữ liệu (tùy chọn).

Trong trình duyệt Neo4j, bạn có thể xem lại tất cả các chỉ mục và ràng buộc bằng cách sử dụng :schema lệnh.

Chỉ cần nhập cái này:

:schema

Bạn sẽ thấy danh sách bất kỳ chỉ mục và ràng buộc nào:

Gợi ý lập chỉ mục

Khi một chỉ mục đã được tạo, nó sẽ tự động được sử dụng khi bạn thực hiện các truy vấn có liên quan.

Tuy nhiên, Neo4j cũng cho phép bạn thực thi một hoặc nhiều chỉ mục với một gợi ý. Bạn có thể tạo gợi ý chỉ mục bằng cách bao gồm USING INDEX ... trong truy vấn của bạn.

Vì vậy, chúng tôi có thể thực thi chỉ mục trên như sau:

MATCH (a:Album {Name: "Somewhere in Time"}) 
USING INDEX a:Album(Name) 
RETURN a

Bạn cũng có thể cung cấp nhiều gợi ý. Chỉ cần thêm một USING INDEX mới cho mỗi chỉ mục bạn muốn thực thi.

Lập chỉ mục hay Không lập chỉ mục?

Khi Neo4j tạo một chỉ mục, nó sẽ tạo ra một bản sao dự phòng của dữ liệu trong cơ sở dữ liệu. Do đó, việc sử dụng một chỉ mục sẽ dẫn đến việc sử dụng nhiều dung lượng đĩa hơn, cộng với việc ghi vào đĩa chậm hơn.

Do đó, bạn cần cân nhắc các yếu tố này khi quyết định lập chỉ mục dữ liệu / thuộc tính nào.

Nói chung, bạn nên tạo một chỉ mục khi bạn biết rằng sẽ có rất nhiều dữ liệu trên các nút nhất định. Ngoài ra, nếu bạn thấy các truy vấn mất quá nhiều thời gian để trả về, việc thêm chỉ mục có thể hữu ích.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng Oracle JDeveloper với Dịch vụ cơ sở dữ liệu MySQL trên Nền tảng đám mây Oracle, Phần 1

  2. Tại sao một cột văn bản không thể có giá trị mặc định trong MySQL?

  3. 4 công cụ dòng lệnh hữu ích để giám sát hiệu suất MySQL trong Linux

  4. Cách sửa chữa cơ sở dữ liệu MySQL trong cPanel

  5. Tạo biến bảng trong MySQL