Поскольку мы живем в мире «сначала доставка» , теперь мы обнаружили себя с базами данных, зараженными тоннами индексных подсказок .
Я написал запрос, который может помочь мне найти все WITH (INDEX=
в базе данных:
SELECT
DB_NAME() AS DB_NAME,
name AS Object_Name,
type_desc AS Object_Type,
definition
FROM
sys.sql_modules
INNER JOIN
sys.objects ON sys.sql_modules.object_id = sys.objects.object_id
WHERE
definition LIKE '%(INDEX=%';
но поскольку столбец definition
иногда слишком длинный для чтения, я бы хотел выбрать из этого столбца, скажем, 30 символов до и 30 символов после the WITH (INDEX=
.
![enter image description here](https://i.stack.imgur.com/c1L3l.png)
Как выбрать только эту часть строки?
В основном в этом столбце я просто хотел бы увидеть:
...INNER JOIN tblSession WITH (INDEX=indRealDateTime) ON ...
, который является частью запроса, который меня интересует. Я хочу сразу увидеть, насколько болезненным является этот указатель.