What is the main benefit of using indexes in a database?
Indexes speed up data retrieval by allowing the database to find rows faster without scanning the entire table.
Click to reveal answer
beginner
When can indexes hurt database performance?
Indexes can slow down data modification operations like INSERT, UPDATE, and DELETE because the index must be updated too.
Click to reveal answer
intermediate
Why might having too many indexes be a problem?
Too many indexes increase storage space and slow down write operations, making the database less efficient overall.
Click to reveal answer
beginner
How do indexes help with query filtering conditions?
Indexes allow the database to quickly locate rows matching filter conditions without scanning every row, improving query speed.
Click to reveal answer
intermediate
When is it not useful to create an index on a column?
Creating an index on columns with very few unique values (low cardinality) often doesn't help because many rows share the same value.
Click to reveal answer
What operation is most negatively affected by indexes?
ACREATE
BSELECT
CJOIN
DINSERT
✗ Incorrect
Indexes slow down INSERT operations because the index must be updated whenever new data is added.
Which of these is a good reason to create an index?
ATo reduce storage space
BTo speed up queries filtering on a column
CTo speed up bulk data inserts
DTo avoid updating data
✗ Incorrect
Indexes help queries that filter on specific columns by making data retrieval faster.
What happens if you create too many indexes on a table?
AWrite operations become slower
BStorage space decreases
CQueries become slower
DIndexes automatically merge
✗ Incorrect
Too many indexes slow down write operations because each index must be updated.
Which column is least suitable for indexing?
AA column with few unique values
BA foreign key column
CA primary key column
DA column with many unique values
✗ Incorrect
Columns with few unique values (low cardinality) are less useful for indexing because many rows share the same value.
How do indexes improve SELECT queries?
ABy scanning the entire table faster
BBy reducing the number of columns
CBy quickly locating rows matching conditions
DBy compressing data
✗ Incorrect
Indexes help SELECT queries by quickly finding rows that match filter conditions without scanning the whole table.
Explain when indexes help improve database performance and when they can cause problems.
Think about read vs write operations and data uniqueness.
You got /4 concepts.
Describe how indexes affect SELECT queries and INSERT operations differently.
Consider the cost of maintaining indexes during data changes.
You got /4 concepts.
Practice
(1/5)
1. Which of the following best describes when an index helps in a database?
easy
A. When you want to reduce the size of the database file.
B. When you want to speed up inserting new rows.
C. When you want to quickly find rows based on column values.
D. When you want to delete all rows faster.
Solution
Step 1: Understand what indexes do
Indexes help the database find rows faster by creating a quick lookup structure on columns.
Step 2: Identify when this is useful
Searching rows by column values is faster with indexes, but inserts or deletes can slow down.
Final Answer:
When you want to quickly find rows based on column values. -> Option C
Quick Check:
Indexes speed up searching [OK]
Hint: Indexes speed up searches, not inserts or deletes [OK]
Common Mistakes:
Thinking indexes speed up inserts
Confusing index purpose with storage size
Assuming indexes help deletes
2. Which SQL statement correctly creates an index on the column email in the table users?
easy
A. CREATE INDEX idx_email ON users(email);
B. CREATE users INDEX ON email;
C. INDEX CREATE ON users(email);
D. CREATE INDEX users_email email;
Solution
Step 1: Recall correct CREATE INDEX syntax
The correct syntax is: CREATE INDEX index_name ON table_name(column_name);
Step 2: Match the options to syntax
CREATE INDEX idx_email ON users(email); matches the correct syntax exactly.
Final Answer:
CREATE INDEX idx_email ON users(email); -> Option A
Quick Check:
Correct CREATE INDEX syntax = CREATE INDEX idx_email ON users(email); [OK]
Hint: CREATE INDEX index_name ON table(column) is correct syntax [OK]
Common Mistakes:
Swapping table and column names
Omitting ON keyword
Wrong order of keywords
3. Given a table orders with 1 million rows and an index on customer_id, what is the expected effect of running SELECT * FROM orders WHERE customer_id = 123;?
medium
A. The query will use the index to quickly find matching rows.
B. The query will scan all rows, ignoring the index.
C. The query will be slower because indexes slow down SELECT queries.
D. The query will fail because indexes cannot be used in WHERE clauses.
Solution
Step 1: Understand index usage in WHERE clause
Indexes help the database quickly locate rows matching the WHERE condition on indexed columns.
Step 2: Apply to the query
Since customer_id is indexed, the query uses the index to find rows without scanning all 1 million rows.
Final Answer:
The query will use the index to quickly find matching rows. -> Option A
Quick Check:
Indexed WHERE columns speed up SELECT [OK]
Hint: WHERE on indexed columns uses index for fast lookup [OK]
Common Mistakes:
Thinking indexes slow down SELECT
Believing indexes are ignored in WHERE
Assuming query fails with indexes
4. You notice that inserting rows into a table is very slow after adding several indexes. What is the most likely cause?
medium
A. Indexes cause syntax errors during inserts.
B. Indexes speed up inserts, so the problem is elsewhere.
C. The table is too small for indexes to matter.
D. Indexes slow down inserts because each insert updates all indexes.
Solution
Step 1: Understand index impact on inserts
Each insert must update all indexes to keep them current, which adds overhead and slows inserts.
Step 2: Identify cause of slow inserts
Adding many indexes increases this overhead, causing slower insert performance.
Final Answer:
Indexes slow down inserts because each insert updates all indexes. -> Option D
Quick Check:
More indexes = slower inserts [OK]
Hint: More indexes mean slower inserts due to update overhead [OK]
Common Mistakes:
Thinking indexes speed up inserts
Blaming syntax errors for slow inserts
Ignoring index update cost
5. A table products has indexes on category_id and price. You run a query filtering on category_id and sorting by price. How can indexes help, and what might hurt performance?
hard
A. Indexes do not help filtering or sorting; they only help joins.
B. Index on category_id helps filtering; index on price helps sorting; but too many indexes slow inserts.
C. Indexes speed up inserts but slow down filtering and sorting.
D. Indexes on both columns cause syntax errors in queries.
Solution
Step 1: Analyze filtering and sorting with indexes
The index on category_id speeds up filtering rows matching that category. The index on price can speed up sorting if used properly.
Step 2: Consider performance trade-offs
Having multiple indexes helps reads but slows down inserts and updates because all indexes must be maintained.
Final Answer:
Index on category_id helps filtering; index on price helps sorting; but too many indexes slow inserts. -> Option B
Quick Check:
Indexes help filtering and sorting but slow inserts [OK]
Hint: Indexes help reads but slow writes when many exist [OK]
Common Mistakes:
Believing indexes only help joins
Thinking indexes speed up inserts
Assuming indexes cause syntax errors
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.