In order to improve the result retrieval performance of the stored procedures from the XML data, the stored procedures are split to operate on two set of groups based on the state selected in the search criteria. In this approach, for instance, in order to retrieve the on campus crime
data for universities, two separate stored procedures “spGetSDSTStudentData2” and “spGetSDSTStudentData3 ” are created. The records in the XML documents are pre-sorted as per the state in alphabetical order and stored. The advantage of splitting the search based on state reduces the traversing of individual records for the XQuery statement. The logic to select the
correct store procedure to execute is implemented in the DataLayer class in the DataAccessLayer project in the web application.