If querying records, and filtering on data within an XML data type, you're asking SQL Server to examine all the XML content to find results.
To speed things up, combine XML data type filters with full text search expressions. The full text search narrows down the results (depending how specific you are) before the XML is parsed and searched. It can save a lot of CPU and IO. Here's an example:
SELECT *
FROM Table
WHERE CONTAINS(XmlColumn,'value')
AND XmlColumn.exist('/element/element/text()[contains(.,"value")]') = 1
This is documented by Microsoft here, and you can examine your before and after by running your queries with statistics on. Here's how you turn statistics on:
SET STATISTICS IO ON;
SET STATISTICS TIME ON;
SELECT *
?