Вопросы с тегом «optimization»

В контексте базы данных оптимизация относится к процессу выбора оптимизатором запросов эффективного физического плана выполнения.

2
Заполните пропущенные даты значением данных из предыдущей заполненной даты для группы
Изобразите билеты службы поддержки, которые передаются между отделами. Мы хотим знать, какой отдел находится в конце дня для каждого билета на каждый день, когда билет открыт. Таблица содержит последний отдел для каждого билета за каждый день, в который он открыт, в который происходит изменение в отделе (включая строку для даты, …

5
Работает ли SentryOne Plan Explorer?
Работает ли SentryOne Plan Explorer как рекламируется и является ли это законным? Есть ли какие-то проблемы или что-то, о чем стоит беспокоиться? Похоже, он показывает горячий путь в цвете по сравнению с кошмаром SSMS представления предполагаемого плана выполнения. Меня беспокоит - изменяет ли он какие-либо данные злонамеренно или иным образом? …

1
Медленные запросы не регистрируются
Я пытаюсь включить медленную регистрацию запросов на нашем сервере, чтобы определить любые запросы, которые могут использовать оптимизацию. Звучит достаточно просто, но мой файл не записывается. Я не получаю никаких ошибок или чего-то в этом роде, просто не регистрируются медленные запросы. Я вспомнил, чтобы перезапустить mysql после изменения конфигурации. Я использую …

1
Почему эти похожие запросы используют разные фазы оптимизации (обработка транзакций и быстрый план)?
Пример кода в этом элементе подключения Показывает ошибку где SELECT COUNT(*) FROM dbo.my_splitter_1('2') L1 INNER JOIN dbo.my_splitter_1('') L2 ON L1.csv_item = L2.csv_item Возвращает правильные результаты. Но следующее возвращает неверные результаты (в 2014 году с использованием нового Оценщика мощности) SELECT (SELECT COUNT(*) FROM dbo.my_splitter_1('2') L1 INNER JOIN dbo.my_splitter_1('') L2 ON L1.csv_item …

2
Будет ли запрос WHERE проверять более простые сравнения (т.е. битовые) перед выполнением более трудных сравнений (например, varchar)?
Если я напишу запрос, который включает составное WHEREпредложение, например: SELECT * FROM MyTable WHERE BitField = 1 AND VarcharField = 'asdf' и включение этого bitсравнения просто исключает те же поля, varcharкоторые исключает сравнение, сделает ли bitсравнение этих полей улучшение производительности?

2
Почему этот запрос не использует мой некластеризованный индекс и как я могу его выполнить?
В продолжение этого вопроса о повышении производительности запросов я хотел бы знать, есть ли способ сделать мой индекс используемым по умолчанию. Этот запрос выполняется примерно за 2,5 секунды: SELECT TOP 1000 * FROM [CIA_WIZ].[dbo].[Heartbeats] WHERE [DateEntered] BETWEEN '2011-08-30' and '2011-08-31'; Этот работает около 33 мс: SELECT TOP 1000 * FROM …

2
Сколько параметров хранимой процедуры слишком много?
Я только начал писать хранимую процедуру в SQL Server 2008 и имеет более 30 параметров. Я никогда не писал один с более чем 10 параметрами, и это заставило меня задуматься ... В какой момент слишком много параметров? Для контекста ... эта процедура по существу вставит одну строку в одну таблицу. …

2
Использование логики НЕ по отношению к индексам
Согласно книге Microsoft по разработке баз данных, экзамен 70-433: Разработка баз данных Microsoft SQL Server 2008 : Ни один из ведущих подстановочных знаков, а не логика НЕ позволяет оптимизатору запросов использовать индексы для оптимизации поиска. Для достижения оптимальной производительности следует избегать использования ключевого слова NOT и начальных символов подстановки. Так …


2
Медленное сканирование индекса в большой таблице
Используя PostgreSQL 9.2, у меня проблемы с медленными запросами к относительно большой таблице (более 200 миллионов строк). Я не делаю ничего сумасшедшего, просто добавляю исторические ценности. Ниже приведен запрос и вывод плана запроса. Моя таблица раскладок: Table "public.energy_energyentry" Column | Type | Modifiers -----------+--------------------------+----------------------------------------------------------------- id | integer | not null …

2
Условия Postgres JOIN против условий WHERE
Постгрес новичок здесь. Мне интересно, оптимизирован ли этот запрос или нет? Я попытался присоединиться только к тем значениям, которые на 100% необходимы, и оставил все динамические условия в предложении WHERE. См. ниже. SELECT * FROM myapp_employees JOIN myapp_users ON myapp_users.user_id=myapp_employees.user_id JOIN myapp_contacts_assoc ON myapp_contacts_assoc.user_id=myapp_users.user_id JOIN myapp_contacts ON myapp_contacts.contact_id=myapp_contacts_assoc.contact_id WHERE myapp_contacts.value='test@gmail.com' …

2
MAXDOP = 1, подсказки к запросу и порог стоимости для параллелизма
Если для экземпляра MAXDOPзадано значение 1, а подсказки запросов используются для параллельного выполнения определенных запросов, является ли значение порога стоимости для параллелизма все еще используемым SQL для принятия решения о том, следует ли на самом деле идти параллельно? Я не смог получить эту конкретную информацию, хотя эта ссылка предполагает, что …

2
Как можно улучшить оценки строк, чтобы уменьшить вероятность разливов в базу данных
Я замечаю, что когда происходят события разлива в базу данных tempdb (вызывающие медленные запросы), часто оценки строк оказываются не подходящими для конкретного соединения. Я видел события разлива с объединениями и хэш-соединениями, и они часто увеличивают время выполнения в 3 раза до 10 раз. Этот вопрос касается того, как улучшить оценку …

1
Postgres: количество (*) против количества (id)
Я видел в документации разницу между count(*)а count(pk). Я использовал count(pk)(где pkэто SERIAL PRIMARY KEY), не зная о существовании count(*). Мой вопрос касается внутренних оптимизаций Postgres. Достаточно ли умен, чтобы понять, что a SERIAL PRIMARY KEYбудет существовать в каждой строке и никогда не быть ложным, и просто считать строки, или …

1
Почему CTE намного хуже, чем встроенные подзапросы
Я пытаюсь лучше понять, как работает планировщик запросов в postgresql. У меня есть этот запрос: select id from users where id <> 2 and gender = (select gender from users where id = 2) order by latest_location::geometry <-> (select latest_location from users where id = 2) ASC limit 50 Он …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.