Tạo chỉ mục mongodb nodejs
Vì vậy, cơ sở dữ liệu NoSQL là lựa chọn cực kỳ thích hợp cho nhiều ứng dụng hiện đại, ví dụ như di động, web và trò chơi. Bởi vì tính linh hoạt, cực kỳ thiết thực và có khả năng thay đổi quy mô và hiệu năng cao để mang đến cho người dùng trải nghiệm tuyệt vời Show MongoDB chúng tôi tìm thấy hiệu trên chính là một hệ thống quản trị cơ sở dữ liệu thuộc NoSQL. Cũng giống như MySQL, SQLServer là hệ thống quản trị cơ sở dữ liệu của SQL Một vài điểm khác biệt so với cơ sở dữ liệu quan hệ là. at database quan he use the table to save data, MongoDB used khái niệm là bộ sưu tập. Là nơi định nghĩa các cột. With each row call is document. Các bộ sưu tập trong MongoDB được tái tạo cấu trúc rất linh hoạt, cho phép lưu trữ dữ liệu không cần tuần theo một cấu trúc nhất định. Thông tin liên quan được lưu trữ giống nhau để truy vấn nhanh chóng Ví dụ Dưới đây là hình ảnh minh họa cơ sở dữ liệu có khóa kéo bộ sưu tập. Trong bộ sưu tập zip có rất nhiều tài liệu Type data same json must not any. Điều chúng ta thường thấy trong cơ sở dữ liệu quan hệ là sẽ tạo một bảng để lưu Thành phố riêng phải không nào. MongoDB thì những dữ liệu nào liên quan đến nó sẽ gom chung vào một bộ sưu tập. Đừng lo sợ về bộ nhớ vì nó có tính mở rộng rất tuyệt vời 2. Các chỉ mục trong mongoDBThường khi chúng ta làm việc với dữ liệu không quá lớn thì chúng ta không quan tâm đến thời gian chúng ta thực thi. Và thời gian của họ cũng không đáng kể. Tuy nhiên đối với dữ liệu tương đối lớn. Hàng ngàn kỷ lục trở thành việc quan tâm đến thời gian thực thi là cực kỳ quan trọng. Nó giúp nâng cao hiệu quả của ứng dụng, giúp trải nghiệm của người dùng tốt hơn Các chỉ mục nó hỗ trợ việc thực hiện các câu lệnh truy vấn một cách hiệu quả. If not have the Indexes. Nó phải thực hiện việc quét qua tất cả các tài liệu trong bộ sưu tập để chọn những tài liệu phù hợp với câu lệnh truy vấn. Nếu như có các chỉ mục thích hợp cho câu lệnh truy vấn thì MongoDB này có thể sử dụng chỉ mục để giới hạn số lượng tài liệu cần kiểm tra. Cụ thể mongoDB sẽ chia nhỏ tài liệu của chúng ta tương tự như thế này Việc tìm kiếm sẽ nhanh hơn nếu được phân vùng như thế nàyVậy thì mongoDB có những loại Index nào thường dùng. Chúng ta cùng đến phần tiếp theo để tìm hiểu chi tiết 3. Các loại chỉ mục trong mongoDBTrước tiên, bạn cần cài đặt mongoDB vào máy của mình và nhập dữ liệu bên dưới vào. You auto search and doing theo nhé Ví dụ dữ liệu của mình ở đây mình lấy từ trang của mongoDB. tập dữ liệu Sử dụng công cụ Robo-3T để thao tác với dữ liệu của chúng tôi 1. Chỉ mục trường đơnChúng ta thực hiện một lệnh đơn giản để xem chi tiết công việc tìm kiếm những thành phố nào có dân số bằng 4546
Cùng phân tích kết quả. "nTrả lại". 2 => tìm được tài liệu. "thời gian thực thiMillis". 16 => thời gian thực thi là 16 mili giây. "totalDocsExamined". 29353 => số tài liệu, mongoDB phải quét qua Bây giờ ta thực hiện đánh số cho pop
Bây giờ index đã tăng lên 2, mọi bộ sưu tập của chúng ta khi tạo nó sẽ có 1 index mặc định cho _id nhé các bạn Bây giờ hãy xem kết quả sau khi đã đánh số chỉ số thì như thế nào Kết quả thật sự ấn tượng phải không nào. Kết quả chưa đến 1 mili giây để tìm kiếm và chỉ quét qua đúng 2 bản ghi 2. chỉ số hợp chấtCompound indexes cho phép ta đánh dấu chỉ mục cho nhiều trường. Nào xem ví dụ cho dễ hiểu hơn (mình đã xóa index ở phần trước rồi) Tìm những thành phố thuộc tiểu bang MA và dân số bé hơn hoặc bằng 21905. lấy 30 phần tử từ vị trí 30 của kết quả tìm được Please mount index for it
Và hãy cùng xem kết quả Kết quả thật tuyệt vời phải không nào 3. Chỉ mục duy nhấtUnique thì chúng ta khá quên thuộc, như đã nói ở phần trước, mỗi một tài liệu trong bộ sưu tập khi sinh ra thì mặc định có một id riêng biệt, sắp xếp theo chiều tăng dần. Vì vậy hãy xem nó như thế nào Quả đúng như vậy "id". 1. 1 sắp xếp theo chiều tăng, lùi lại -1 thì sắp theo chiều giảm 4. Chỉ mục thưa thớtVới những trường hợp bạn muốn tìm những tài liệu có trường cần tìm không trống, bạn hay tự kiểm tra xem trường đó của tài liệu tồn tại với giá trị không phải là bất kỳ. Với Index, bạn có thể làm điều đó một cách rất nhanh chóng và hiệu quả. Bằng cách đánh chỉ mục (chỉ mục) cho trường bạn đang xem xét đó. Việc làm còn lại là đây
5. Chỉ số TTLTTL là từ viết tắt của Time To Live. Hãy thử tưởng tượng ứng dụng của chúng ta, chúng ta muốn cho người dùng dùng thử ứng dụng nhưng muốn đăng nhập vào ứng dụng chúng ta cần phải có tài khoản và mật khẩu. Do đó khi tạo tài khoản cho người dùng thử lại đã sinh ra rác sau. Thì rất có thể mongoDB cung cấp cho chúng ta TTL Indexes để giúp cho trường như đã nêu trên
Ở đây chúng ta đã đặt chỉ mục cho trường lastModifiedDate. Tài liệu sau khi được tạo sẽ có thời gian sống là 3600s. Một lưu ý. that is field lastModifiedDate must have the type is Date 6. Chỉ mục văn bảnThông thường một ứng dụng sẽ không thể thiếu phần tìm kiếm phải không các bạn (không phải tất cả nha các bạn ). Đầu tiên chúng ta tạo chỉ mục cho trường cần tìm kiếm.
Việc tạo chỉ mục đã thành công, vậy công việc tìm kiếm thì như thế nào nhỉ?
Về phần chỉ mục văn bản này khá nhiều. Nếu bạn quan tâm hãy tìm hiểu thêm về set ngôn ngữ, cũng như tìm kiếm không phân biệt hoa thường hay tìm kiếm như LIKE trong SQL nữa nhé 4. Kết quảTrên đây mình đã trình bày về một số chỉ mục trong mongo mình từng thử qua, ngoài ra còn một vài chỉ mục hữu dụng khác nữa. Không phải chỉ có chừng mực này như thế nào đâu nhé. Việc thêm chỉ mục sẽ tăng tốc độ tìm kiếm. Nhưng bạn hay cân nhắc việc thêm chỉ mục vào cơ sở dữ liệu vì khi chèn một dữ liệu mới vào công việc tính toán và tìm vị trí phù hợp cũng tốn kém khá nhiều thời gian. Vì vậy cần phải có sự lựa chọn phù hợp với từng chỉ mục trong ứng dụng của chúng ta. Mong rằng với sự chia sẻ của mình thì các bạn sẽ phát triển ứng dụng của mình tốt hơn |