Не вдаваясь в подробности, у меня есть очень уродливая база данных SQL Server 2008, которая используется очень уродливым программным обеспечением, разработанным сторонним поставщиком.Через программный интерфейс это позволяет мне проектировать и строить таблицы SQL Server и писать запросы.Отлично подходит для бизнес-пользователей, ужасно для производительности и дизайна базы данных.
Ни в одной из таблиц нет столбцов или индексов первичного ключа, а «ключи», которые генерирует программное обеспечение, равно как и почти все другие важные поля, - это большие столбцы varchars
и text
.Короче говоря, производительность ужасна, и я вынужден импортировать более 100 000 строк данных и, возможно, намного больше.
Мой вопрос - поскольку я не могу контролировать программное обеспечение или его запросы, возможно, я мог бы настроитьSQL Server обрабатывает эти запросы?Есть ли способ изменить механизм запросов или вставить триггер предварительного выбора, чтобы сопоставить текстовый ключ с моим собственным созданным столбцом, который я мог бы правильно проиндексировать?В идеале я мог бы просто заменить любой экземпляр ColumnA
(например) в предложении WHERE
на ColumnAIndexed
до того, как SQL Server попытается его обработать.Есть ли шанс, что что-то подобное возможно?
Спасибо.