A Windows Azure application retrieves data from SQL Azure. You need to recommend an approach for
improving application query performance.
What should you recommend?
A.
Create a database view to retrieve the data.
B.
Use a clustered index on the SQL Azure database tables.
C.
Open a new database connection when an operation times out.
D.
Create SQL Azure database table indexes based on application queries.
So clustered indexes are for analytic queries (data warehouse) and non-clustered are for more typical INSERT, UPDATE, DELETE queries for the basic running of an application.
https://azure.microsoft.com/en-gb/blog/clustered-columnstore-index-in-azure-sql-database/
Not sure how we are supposed to tell which the theoretical application here is performing. I’m tempted to go with B based on the “retrieves data from” clause.
I actually think D is right.
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-performance-guidance
” During query execution, SQL Database tracks how often each query plan is executed, and tracks the estimated gap between the executing query plan and the imagined one where that index existed. You can use these DMVs to quickly guess which changes to your physical database design might improve overall workload cost for a database and its real workload.
You can use this query to evaluate potential missing indexes:”