2013-10-14 5 views
-2

У меня есть таблица с более чем 50 столбцами и более 150 000 строк. Обе таблицы находятся в отношениях (первичный ключ и внешний ключ).Как улучшить производительность таблиц в SQL Server

Я хочу запустить запрос для извлечения записей из обеих таблиц, но для выполнения требуется много времени.

Как я могу улучшить производительность обеих таблиц?

Пожалуйста, помогите мне.

+1

Нам понадобится дополнительная информация, если вам нужна помощь. Запрос, СУБД, с которым вы работаете, и т. Д. – Linger

+0

Вы можете нормализовать таблицы на несколько таблиц. Отключите старые строки. Компактный/сжимающий базу данных, чтобы удалить любое свободное пространство. – Leptonator

ответ

2

Вы должны предоставить больше информации и ТОЧНО SQL, любой путь здесь некоторые основы (предполагается, что SQL используется)

  • Убедитесь, что вы должны иметь индекс, определенный на каждом столе.

  • Убедитесь, что вы вернетесь только необходимые столбцы

  • Убедитесь, что типы данных одинаковы на FK/ПК (в случае, если ваш FK логично)

  • Старайтесь не использовать функции WHERE - Иногда вы получаете снижение производительности, если вы

  • Старайтесь не использовать или в WHERE - Иногда вы получаете снижение производительности, если вы

  • Получить план выполнения и посмотреть, используются ли индексы.

Опять же, необходима дополнительная информация.

0

Укажите используемый запрос ...

Убедитесь, что у вас есть индекс, определенный на каждом столе, и они используются сразу после того, где пункт в вашем запросе передается. Пожалуйста, не используйте Select * в вашем запросе, вместо этого вы используете только нужные столбцы и подзапросы. Запустите запрос только для конкретного условия в where where, которое возвращает количество строк меньше, чем все записи таблицы. Сохраняйте одинаковые типы данных для используемых ключевых столбцов в обеих таблицах.

Проверьте план выполнения и посмотрите, используются ли индексы.

Смежные вопросы