mediummultiple choiceObjective-mapped

A company maintains a large 'Transactions' table in Azure SQL Database. The table has a clustered index on a GUID column (TransactionID). Over time, they observe slow insert performance due to index fragmentation and page splits. They also need fast point lookups by TransactionID. Which approach should they take to improve insert performance while still supporting fast lookups?

Question 1mediummultiple choice
Full question →

A company maintains a large 'Transactions' table in Azure SQL Database. The table has a clustered index on a GUID column (TransactionID). Over time, they observe slow insert performance due to index fragmentation and page splits. They also need fast point lookups by TransactionID. Which approach should they take to improve insert performance while still supporting fast lookups?

Answer choices

Why each option matters

Good practice is not just finding the correct option. The wrong answers often show the exact trap the exam wants you to fall into.

A

Distractor review

Change the clustered index to a nonclustered index on TransactionID and make the table a heap

While this avoids GUID fragmentation, heaps can lead to performance degradation for queries that need to scan or sort data. Also, point lookups via a nonclustered index on a heap require extra key lookups (RID lookups), which are less efficient than clustered index seeks.

B

Best answer

Change the clustered key to an integer IDENTITY column and keep a nonclustered index on TransactionID

An integer IDENTITY column provides sequential values that reduce fragmentation and page splits, improving insert performance. The nonclustered index on TransactionID supports efficient point lookups. This is a recommended pattern when the natural key is not ideal for clustering.

C

Distractor review

Keep the clustered index on TransactionID but rebuild it daily

Rebuilding the index daily does not prevent fragmentation from occurring during inserts throughout the day. The underlying issue of random GUID inserts causing page splits remains, and frequent rebuilds incur overhead.

D

Distractor review

Remove the clustered index entirely and create a nonclustered index on TransactionID

This makes the table a heap, which can cause performance issues for range queries and other operations. Sequential insert performance may improve slightly, but point lookups require a nonclustered index followed by a RID lookup, which is slower than a clustered index seek. Also, heaps can suffer from high fragmentation over time.

Common exam trap

Common exam trap: NAT rules depend on direction and matching traffic

NAT is not only about the public address. The inside/outside interface roles and the ACL or rule that matches traffic are just as important.

Technical deep dive

How to think about this question

NAT questions usually test address translation, overload/PAT behaviour, static mappings and whether the right traffic is being translated. Read the interface direction and address terms carefully.

KKey Concepts to Remember

  • Static NAT maps one inside address to one outside address.
  • PAT allows many inside hosts to share one public address using ports.
  • Inside local and inside global describe the private and translated addresses.
  • NAT ACLs identify traffic for translation, not always security filtering.

TExam Day Tips

  • Identify inside and outside interfaces first.
  • Check whether the scenario needs static NAT, dynamic NAT or PAT.
  • Do not confuse NAT matching ACLs with normal packet-filtering intent.

Related practice questions

Related DP-900 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

More questions from this exam

Keep practising from the same exam bank, or move into a focused topic page if this question exposed a weak area.

Question 1

A data engineer needs to process streaming data from IoT devices and store the results in Azure Data Lake Storage for long-term analytics. The data must be processed in near real-time to detect anomalies and trigger alerts. Which Azure service should the engineer use for stream processing?

Question 2

A data engineer needs to query data stored in CSV files in Azure Data Lake Storage Gen2 using T-SQL in Azure Synapse Analytics, without loading the data into the database. Which feature should they use?

Question 3

A data engineer needs to process raw clickstream data from multiple websites that is stored in Azure Blob Storage as JSON files. The processing must run automatically every hour, transform the data into a structured format for reporting, and handle schema changes in the source data without manual intervention. Which Azure service should be used?

Question 4

A data engineer is designing a data lake architecture in Azure. They plan to first ingest raw data from various sources into a landing zone in Azure Data Lake Storage Gen2. Then they will clean, validate, and deduplicate that data in a second zone. Finally, they will create aggregated, business-ready datasets in a third zone for analysts. This layered approach is known as which architecture?

Question 5

A data engineer needs to transform large datasets stored in Azure Data Lake Storage Gen2 using Python and Apache Spark. They want a serverless compute option that automatically scales and requires no cluster management. Which Azure service should they use?

Question 6

A company collects customer feedback forms. Each form contains always-present fields like CustomerID and SubmissionDate, but also a free-text Comments field and optional fields like Rating or ProductCategory that vary between forms. How should this data be classified?

FAQ

Questions learners often ask

What does this DP-900 question test?

Static NAT maps one inside address to one outside address.

What is the correct answer to this question?

The correct answer is: Change the clustered key to an integer IDENTITY column and keep a nonclustered index on TransactionID — Using a GUID as a clustered index key is problematic because GUIDs are randomly generated, causing fragmentation and page splits on inserts. Changing the clustered index to an integer IDENTITY column (which provides sequential values) eliminates fragmentation and improves insert performance. The point lookups by TransactionID can still be efficient by creating a nonclustered index on that column. Alternatively, making the table a heap and relying solely on nonclustered indexes could work but often leads to other performance issues and is not recommended for frequently accessed tables.

What should I do if I get this DP-900 question wrong?

Then try more questions from the same exam bank and focus on understanding why the wrong options are tempting.

Discussion

Loading comments…

Sign in to join the discussion.