On October 23rd, 2014, we updated our
By continuing to use LinkedIn’s SlideShare service, you agree to the revised terms, so please take a few minutes to review them.
Indexing = technique used to make search faster
Computer Science definition Index = any data structure thatimproves the performance of lookup.
DB Index datastructures Binary Tree B+ Tree Balanced Tree Hashes
Binary Search Tree
Our Favourite Employee Table
Search By Employee Idselect * from employee where employee_id= 3
B+ Tree The B-tree is a generalization of a binary search tree in that a node can have more than two children Order of B-Tree= max no of child nodes The left subtree of a node contains only nodes with keys less than the nodes key. he right subtree of a node contains only nodes with keys greater than the nodes key.
A database index improves dataretrieval operations but they come up with the cost. slower writes and the use of more storage space. 3 Gigabytes of collection, if you have 1 index, approx it uses 500 Mb for that index
INDEX CARDINALITY Cardinality: Unique values in the column
TAKE AWAY... Index Datastructure Index Cardinality Indexing is not the only solution to improve the performance
Points to consider while creating index Keys (columns) frequently involved in search conditions of a queryIndexes can be created on Array, Sub- documents and also Embedded Fields Use Indexes to Sort Query Results Queries that return a range of values using operators such as $gt,$lt Negation: Inequality queries are inefficient with respect to indexes