You are the administrator of a SQL Server 2000 computer. The server contains a database named Customers, which is used by a cust

admin2009-05-19  13

问题 You are the administrator of a SQL Server 2000 computer. The server contains a database named Customers, which is used by a custom client/server application.

The database contains more than 1 million rows. Users report that the database responds slowly when they search for customers by using the application. Users search for customers by scrolling through an alphabetical list of customer names.

You use SQL profiles to capture information about how the application uses the database.
You receive results as shown in the following screen shot.


You need to improve the application’s performance. What should you do?

选项 A、Create additional nonclustered indexes on the CustomerInformation table.
B、Rewrite the application so that it uses a user-defined function to return the customer list.
C、Rewrite the application so that it uses a query with a WHERE clause to search for customer names.
D、Rewrite the application so that is uses a stored procedure to return the customer list.

答案C

解析 Explanation: The WHERE clause of the SELECT statement causes the queries to be selective. Without the WHERE clause all records in the selected table is included in the result set. The WHERE clause tells SQL Server 2000 which data should be returned and thus limits the returned data to only that data that meets the condition set in the WHERE clause. This would improve the efficiency of the application.

Incorrect Answers:
A: Nonclustered indexes are useful for exact match queries because these indexes contain entries describing the exact location in the table of the data values being searched for. However, the application in this scenario does not make use of exact match queries.

B: Since functions only return a single value, not a recordset, they cannot be used in this scenario.

Note: In programming languages, functions are subroutines that are used to encapsulate frequently performed logic. Any code that must perform the logic incorporated in a function can call the function rather than having to repeat all of the function logic. In addition to built-in functions, SQL Server 2000 also allows us to define our own Transact-SQL functions using the CREATE FUNCTION statement. These user-defined functions can take zero or more input parameters, and can return a single value. Some user-defined functions can return a single, scalar data value or decimal value.

D: A stored procedure could be used but would not, by itself, improve any performance gain except that small gain of caching the execution plan.

Note: A stored procedure is a group of Transact-SQL statements tat are compiled into a single execution plan. SQL Server 2000 stored procedures return data as output parameters, which can return either data or a cursor variable; return codes, which are always an integer value; a result set for each SELECT statement contained in the stored procedure or any other stored procedures called by the stored procedure; or as a global cursor that can be referenced outside the stored procedure. They assist in achieving a consistent implementation of logic across applications.

The SQL statements and logic needed to perform a commonly performed task can be designed, coded, and tested once in a stored procedure. Each application needing to perform that task can then simply execute the stored procedure. Stored procedures can also improve performance.

转载请注明原文地址:https://kaotiyun.com/show/SuhZ777K
0

最新回复(0)