Я недавно переиндексировал некоторые из моих таблиц с полмиллиона записей в нем. мы впервые переиндексировали эти таблицы. кажется, что большинство вещей работает быстрее, за исключением одной пользовательской функции, которая застревает и ничего не возвращает. я попытался поиграть с этим запросом и превратил его в простой запрос, и даже на это уходит много времени.
Я перепробовал все варианты, которые нашел при просмотре форумов difnet. Я попытался перестроить, реорганизовать индексы, обновить статистику с полным сканированием и без него, перекомпилировать все процедуры. даже создал таблицу с нуля, поместил в нее эти индексы и скопировал данные из исходной таблицы. но проблема сохраняется.
это работало нормально, прежде чем мы переиндексировали эти таблицы. я использовал простую команду dbcc dbreindex с 80 fillfactor, чтобы переиндексировать их. После переиндексации файл базы данных вырос почти вдвое, а файл журнала остался почти таким же. Опция автоматического роста базы данных установлена на значение по умолчанию 10%. режим восстановления «простой»
Кстати, этот запрос, который не удается выполнить после переиндексации, использует много подзапросов в списке выбора полей. то есть выберите customer.name, (выберите orders.orderId из заказов, где order.customerid = customer.id) в качестве orderid и т. д., просто пример, но что-то в этом роде. это имеет какое-то значение?
Может кто-нибудь попытаться помочь в этом вопросе. Большое спасибо заранее.