Как сделать выберите быстрее бегать на таблицу с 120 колонн
У меня есть оператор select, в котором три таблицы соединяются внутри, и в одной из таблиц есть 120 столбцов, и почти все столбцы возвращаются в операторе select из этой большой таблицы. План выполнения показывает кластеризованный поиск индекса только для всех таблиц. Ищу любые готовые идеи, чтобы сделать работу select более быстрой.
Что я уже пробовал:
Я применил сжатие страниц для большой таблицы, и это дало улучшение на 10 секунд, но все же я хочу настроить его дальше.
F-ES Sitecore
- Это зависит от обстоятельств. Является ли запрос медленным, потому что эти 120 столбцов содержат огромное количество текста? Или запрос выполняется медленно, потому что количество запрашиваемых строк и количество столбцов не имеют значения? Является ли запрос медленным, потому что вы возвращаете много строк? У каждого из них есть свои причины и решения, нет волшебной пули, которая делает запросы быстрее, некоторые из этих проблем не имеют реального решения, кроме как использовать более быстрый сервер. Вы должны сначала определить причину горлышка бутылки, прежде чем вы можете решить эту проблему. Google для ускорения sql - запросов, чтобы получить представление об основах.
Maciej Los
Звучит как ответ ;)
Dave Kreskowiak
Большая часть производительности будет зависеть от дизайна таблиц и того, что вы делаете в запросе. Мы ничего не можем сказать вам об этом, потому что вы не описали ничего из этого и не показали реальный запрос, который работает плохо.
Например, если вы помещаете приведение в предложение WHERE, приведение должно выполняться для каждой отдельной строки в таблице. Я не думаю, что это так, потому что вы упомянули, что план не имеет ничего, кроме индексированных поисков. Это был всего лишь пример.