Запитання з тегом «optimization»

У контексті бази даних оптимізація означає процес оптимізатора запитів, що вибирає ефективний план фізичного виконання.

6
Як визначити, потрібен чи потрібний індекс
У нашій базі даних MS SQL я запускав інструмент автоматичного індексування (я змінив сценарій від Microsoft, який розглядає таблиці статистичних даних індексу - Автоматизована автоматична індексація ). Зі статистики, тепер у мене є список рекомендацій щодо індексів, які потрібно створити. Редагувати: Описані вище індекси беруть інформацію з DMV, яка розповідає …

4
Оптимізація запитів на діапазоні часових позначок (два стовпці)
Я використовую PostgreSQL 9.1 на Ubuntu 12.04. Мені потрібно вибрати записи протягом певного проміжку часу: у моїй таблиці time_limitsє два timestampполя та одне integerвластивість. У моїй дійсній таблиці є додаткові стовпці, які не беруть участь у цьому запиті. create table ( start_date_time timestamp, end_date_time timestamp, id_phi integer, primary key(start_date_time, end_date_time,id_phi); …

3
Коли використовувати перегляди в MySQL?
Коли створюється таблиці з декількох об'єднань для використання в аналізі, коли краще використовувати представлення даних, а не створювати нову таблицю? Однією з причин, що я вважаю за краще використовувати представлення даних, є те, що схема бази даних була розроблена нашим адміністратором з Ruby, і я не знайомий з Ruby. Я …

4
Чи шкідливі представлення для продуктивності в PostgreSQL?
Далі - уривок із книги про дизайн дизайну db (Початковий дизайн бази даних ISBN: 0-7645-7490-6): Небезпека використання представлень - це фільтрація запиту проти подання, очікуючи, що він прочитає дуже маленьку частину дуже великої таблиці. Будь-яку фільтрацію слід проводити в межах перегляду, оскільки будь-яке фільтрування проти самого представлення застосовується після того, …

3
Несподівані сканування під час операції видалення за допомогою WHERE IN
У мене є такий запит: DELETE FROM tblFEStatsBrowsers WHERE BrowserID NOT IN ( SELECT DISTINCT BrowserID FROM tblFEStatsPaperHits WITH (NOLOCK) WHERE BrowserID IS NOT NULL ) tblFEStatsBrowsers має 553 рядки. tblFEStatsPaperHits набрав 47.974.301 рядків. tblFEStatsBrowsers: CREATE TABLE [dbo].[tblFEStatsBrowsers]( [BrowserID] [smallint] IDENTITY(1,1) NOT NULL, [Browser] [varchar](50) NOT NULL, [Name] [varchar](40) NOT …

2
Як (і чому) ТОП впливає на план виконання?
Для помірно складного запиту, який я намагаюся оптимізувати, я помітив, що видалення TOP nпункту змінює план виконання. Я б здогадався, що коли запит включає TOP nв себе двигун бази даних, він би запустив запит, ігноруючи TOPзастереження, а потім наприкінці просто зменшить цей результат, встановлений на n кількість рядків, які запитували. …

1
ВИКОРИСТАННЯ конструкції в пункті JOIN може ввести бар'єри оптимізації в певних випадках?
Мені було звернуто увагу, що USINGконструкція (замість ON) у FROMпункті SELECTзапитів може вводити бар’єри оптимізації в певних випадках. Я маю на увазі це ключове слово: ВИБІР * ВІД a ПРИЄДНАЙТЕСЬ b ВИКОРИСТАННЯ (a_id) Просто у більш складних випадках. Контекст: цей коментар до цього питання . Я цим користуюся багато і …

5
Логічні оператори АБО І в умові та порядку умов, де БЕЗ
Розглянемо ці два твердження: IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... Якщо CONDITION 1це так TRUE, чи CONDITION 2буде перевірено? Якщо CONDITION 3це так FALSE, чи CONDITION 4буде перевірено? Що з умовами щодо WHERE: чи оптимізує двигун SQL Server усі умови в WHEREпункті? …

2
Оптимізація запиту Postgres з великим IN
Цей запит отримує список публікацій, створених людьми, яких ви стежите. Ви можете стежити за необмеженою кількістю людей, але більшість людей наслідують <1000 інших. З цим стилем запитів очевидною оптимізацією було б кешування "Post"ідентифікаторів, але, на жаль, зараз у мене немає часу на це. EXPLAIN ANALYZE SELECT "Post"."id", "Post"."actionId", "Post"."commentCount", ... …

5
Чому мій запит SELECT DISTINCT TOP N сканує всю таблицю?
Я зіткнувся з кількома SELECT DISTINCT TOP Nзапитами, які, як видається, оптимізовані запитами SQL Server, погано оптимізовані. Почнемо з розгляду тривіального прикладу: мільйонна таблиця рядків з двома змінними значеннями. Я буду використовувати функцію GetNums для генерування даних: DROP TABLE IF EXISTS X_2_DISTINCT_VALUES; CREATE TABLE X_2_DISTINCT_VALUES (PK INT IDENTITY (1, 1), …

4
Чому орієнтовна вартість (однакових) 1000 шукань на унікальний індекс відрізняється в цих планах?
У запитах нижче, як обидва плани виконання, за оцінками, виконують 1000 запитів за унікальним індексом. Шукання керуються впорядкованим скануванням в одній таблиці джерел, так що, здавалося б, слід шукати однакові значення в тому ж порядку. Обидві вкладені петлі мають <NestedLoops Optimized="false" WithOrderedPrefetch="true"> Хтось знає, чому в першому плані це завдання …

3
SQL Server розбиває A <> B на A <B АБО> B, даючи дивні результати, якщо B недетермінований
Ми зіткнулися з цікавою проблемою із SQL Server. Розглянемо наступний приклад докори: CREATE TABLE #test (s_guid uniqueidentifier PRIMARY KEY); INSERT INTO #test (s_guid) VALUES ('7E28EFF8-A80A-45E4-BFE0-C13989D69618'); SELECT s_guid FROM #test WHERE s_guid = '7E28EFF8-A80A-45E4-BFE0-C13989D69618' AND s_guid &lt;&gt; NEWID(); DROP TABLE #test; скрипка Будь-ласка, забудьте на мить, що s_guid &lt;&gt; NEWID()стан здається …

2
Оцінка кардинальності для оператора LIKE (локальні змінні)
У мене склалося враження, що при використанні LIKEоператора в усіх оптимізаціях для невідомих сценаріїв, як застарілі, так і нові СЕ використовують оцінку 9% (за умови, що відповідна статистика доступна і оптимізатору запитів не потрібно вдаватися до припущень про вибірковість). Під час виконання нижчезазначеного запиту проти кредитної бази даних я отримую …

1
Чому цей запит не використовує котушку індексу?
Я задаю це запитання, щоб краще зрозуміти поведінку оптимізатора і зрозуміти межі навколо котушок індексу. Припустимо, я поклав цілі числа від 1 до 10000 у купу: CREATE TABLE X_10000 (ID INT NOT NULL); truncate table X_10000; INSERT INTO X_10000 WITH (TABLOCK) SELECT TOP 10000 ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) …

1
Чи визначено поведінку огорожі оптимізації CTE (З запитом) у стандарті SQL: 2008? Якщо так, то де?
Я бачу часті посилання на WITHзапити (загальні вирази таблиць або CTE), що діють як огорожу для оптимізації, де сервер не може штовхати фільтри вниз на запити CTE, витягувати загальні вирази вгору із CTE тощо. Це часто стверджується бути поведінкою, що вимагається стандартами SQL. CTE, безумовно, є оптимізаційною огорожею в PostgreSQL …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.