6 най-добри инструменти за оптимизация на SQL заявки през 2020 г.

click fraud protection

Данните са всичко и следователно SQL е навсякъде. Структурираният език за заявки се превърна в най-използвания език на заявките и се поддържа от повечето съвременни системи за управление на релационни бази данни. Всъщност използването му е толкова разпространено, че често ние наричаме сървърите на бази данни като SQL сървъри.

Езикът определя как могат да се формират заявки, за да се извлече от база данни точните данни, които са необходими. Предвид множеството съвременни бази данни с десетки съединени таблици, SQL заявките могат да бъдат доста сложни. С допълнителна сложност идва намалена производителност. Оптимизацията на SQL заявки позволява да се прецизират заявки, така че да върнат правилните данни възможно най-бързо. Оптимизирането на SQL заявки може да се извърши ръчно, но съществуват инструменти, които да подпомогнат оптимизирането им. Предстои да разгледаме някои от най-добрите инструменти, които намерихме.

Тъй като искаме всички да са на една и съща страница, докато преглеждаме най-добрите продукти, ще започнем, като обсъдим какво и срамежливото оптимизиране на SQL заявките. След това ще обсъдим основните характеристики на инструментите за оптимизация на SQL заявки. Различните инструменти предлагат различни функции, както предстои да видите. Ще направим всичко възможно да подредим основните функции, които трябва да търсите, когато избирате най-добрия инструмент за вашите конкретни нужди. И накрая, ще прегледаме най-добрите инструменти, които бихме могли да намерим.

instagram viewer

Оптимизация на заявки в SQL сървъри

Просто казано, оптимизацията на SQL заявки е актът на анализ на SQL заявки и определяне на най-ефективния механизъм за изпълнение. Често това е процес на изпробване и грешка, при който се тестват различни заявки, за да се види коя от тях предлага най-добрата ефективност, като все пак връща търсените данни. Оптимизаторите на заявки понякога са вградени в системи за управление на бази данни, но често се смята, че външните инструменти на трети страни предлагат по-добри резултати. Типичният оптимизатор на заявки ще генерира един или повече планове за заявки за всяка заявка, всяка от които е механизъм, използван за изпълнение на заявката. Измерва се ефективността (т.е. времето за изпълнение) на всяка от тях и се избира най-ефективният план за заявки и се използва за изпълнение на заявката. Докато някои инструменти за оптимизиране на SQL заявки са по-прости помощни приложения, които изискват много човешка помощ, най-добрите системи вършат по-голямата част от работата си на заден план.

Ето кратък пример за оптимизация на заявките. Ако потребителят изпълни заявка, която избира приблизително половината данни от таблицата в момент, в който сървърът има голяма задача с множество едновременни връзки. В такава ситуация оптимизаторът на заявки може да реши да използва план за заявки, който използва индексите на таблиците, за да задоволи заявката въз основа на ограничени ресурси. Това може да намали изтичането на заявката от сървърните ресурси. Ако потребителят изпълни същата заявка в друг момент, когато бяха налични повече сървърни ресурси, оптимизаторът на заявки може са определили, че ограничаването на ресурси не е проблем и не използват индексите на таблицата, зареждайки пълната таблица в памет.

Основни характеристики на инструментите за оптимизация на SQL заявки

Както установихме, основната функция на SQL Query Optimizer инструмент е да се опита да определи най-добрия начин за изпълнение на заявката чрез анализ на различни планове за заявки. Всички прегледани тук инструменти ще са поне на това, но някои предлагат много повече функционалност. Нека разгледаме някои от основните функции, често срещани в инструментите за оптимизация на SQL заявки.

Основна настройка на SQL

Това е основната функционалност на инструментите за оптимизация на SQL заявки. Това е процесът на пренаписване на SQL изрази по различен начин с цел подобряване на производителността на заявката, като все пак получаване на един и същ резултат от това набор от данни. Инструментът работи, като измерва времето за изпълнение на заявката на различните версии на заявката (планове за заявки) и избира тази, която се изпълнява най-бързо.

Поддръжка на база данни на двигателя

Повечето инструменти поне ще поддържат най-често срещаните двигатели на бази данни като Microsoft SQL, Oracle, MySQL, PostgreSQL и MariaDB. Други ще подкрепят по-широк избор, а други ще подкрепят само един. Важно е да изберете инструмент, който да поддържа всички двигатели, които използвате,

Поддръжка на база данни в облак

Някои инструменти за оптимизиране на SQL заявки са в състояние да анализират и оптимизират базирани в облак бази данни, като Microsoft SQL Azure или AWS RDS. Облачната поддръжка варира значително от инструмент до инструмент. Отново е важно да изберете този, който поддържа това, което имате. Обърнете внимание, че повечето инструменти, поддържащи облачни бази данни, също ще поддържат локални такива.

Най-добри инструменти и софтуер за оптимизация на SQL заявки

Най-накрая дойде време да разкрием и прегледаме най-добрите инструменти за оптимизация на SQL заявки и софтуер, които бихме могли да намерим. В нашия списък има много различни видове инструменти, всеки от които носи свой обрат на оптимизация. Основните ни критерии за включване бяха, че всеки продукт поне помогна ръчно за оптимизиране на SQL заявки - повечето го правят автоматично - и че те работят като рекламирани. Не бихме искали да ви губим време за продукти, които няма да правят това, което трябва.

Първият ни продукт е от SolarWinds, компания, която се радва на отлична репутация за създаването на едни от най-добрите инструменти за управление на мрежи и системи през по-голямата част от двадесет и иш години от съществуването си. Неговият водещ продукт, наречен SolarWinds Network Performance Monitor, се разглежда от много като един от най-добрите софтуерни мрежи за мониторинг на честотната лента. Някои от славата на SolarWinds също произхождат от многото безплатни инструменти, които предлага. Те са по-малки инструменти, всеки от които адресира конкретна задача на мрежовите администратори. Два отлични примера за тези инструменти са Advanced Subnet Calculator и Kiwi Syslog Server.

За оптимизация на SQL заявки обаче е нужно това Анализатор на производителността на бази данни SolarWinds (DPA), инструмент за управление на база данни, изграден за наблюдение, анализ и настройка на SQL заявките. Той следи и анализира вашите случаи на SQL база данни и използва метода за анализ на времето за отговор, който поставя основния фокус върху времето между заявките за заявка и съответния отговор от базата данни, анализира видовете чакане и събития, за да определи точно тези места бази данни.

Анализатор на производителността на база данни SolarWinds
  • БЕЗПЛАТЕН ПРОБЕН ПЕРИОД: Анализатор на производителността на база данни SolarWinds
  • Линк за изтегляне:https://www.solarwinds.com/database-performance-analyzer

Инструментът, който също е чудесен за отстраняване на проблеми, разполага с лесен за използване интерфейс, който ще ви помогне да намерите проблеми бързо и лесно. Основният екран ще ви позволи да преглеждате случаи на база данни, време за изчакване, съвет за запитвания, CPU (с предупреждения и критични сигнали), памет, диск и сесии.

Когато пробивате надолу, таблото за тенденции на конкретен екземпляр от база данни ви показва в графичен формат общото време за изчакване (или вашият избор на средно или типично време за изчакване за деня) за потребителите в продължение на месец. На тази графика всеки цвят представлява индивидуален SQL оператор, който ви предоставя визуално привлекателно представяне на това, което операцията отнема най-дълго.

Въпреки че този продукт не е истински инструменти за оптимизиране на SQL заявки, някои от функциите му могат да ви помогнат в това. Например, той може да наблюдава и измерва времето за изпълнение на заявките и също така ще предоставя някои съвети за настройка, въпреки че е по-скоро свързан с конфигурацията на базата данни, а не с кода на заявката.

Цената за Анализатор на производителността на база данни SolarWinds започва от $ 1 995 и варира в зависимост от броя и вида на случаите на база данни, които трябва да се наблюдават. Ако искате да изпробвате продукта, преди да го закупите, на разположение е напълно функционална 14-дневна пробна версия.

2. SQL тунер за заявки за SQL Diagnostic Manager

Най- SQL Diagnostic Manager е един от най-добрите налични инструменти за наблюдение на базата данни. Но когато го допълвате с SQL тунер за заявки, това, което получавате е един от най-добрите инструменти за оптимизация на SQL заявки. Предимствата му са многобройни. Той идентифицира проблемните SQL заявки чрез профилиране на базата данни за анализ на времето на изчакване. Освен това може да ви даде автоматично генерирани препоръки за настройка с помощта на съветника за настройка на SQL заявки. Инструментът ще провери ефективността на SQL заявките чрез тестване на натоварването в симулирани производствени среди.

Най- SQL тунер за заявки бързо и лесно ще идентифицира SQL заявки, които причиняват лоша производителност на базата данни чрез профилиране на базата данни и ще покаже графична визуализация на анализа на времето на изчакване. Той ще следи цял източник на данни в рамките на конфигурируем период от време с непрекъснато профилиране. Като aresult ще получите по-добро разбиране за това как SQL Server планира да изпълнява SQL заявки и различните разходи за производителност.

Снимка на SQL Query Tuner

Този инструмент ще представи автоматично генерирани предложени решения със съветника за настройка на SQL заявки, които осигуряват съществен контекст за настройка на SQL заявки. Той включва цветово кодиран анализ на индекси на използвани, неупотребявани и липсващи индекси с препоръки за оптимална ефективност. Можете да генерирате възможни случаи и да намерите най-добрата алтернатива на даден SQL оператор, като включите SQL заявки за пренаписване и намеци за инжекции.

Най- SQL тунер за заявки разполага с уникални визуални диаграми за настройка на SQL заявки, които ви позволяват да разберете въздействието на SQL операторите върху базата данни, използвайки диаграмите вместо сложни планове за изпълнение. Индексите и ограниченията на таблици и изгледи се показват със статистически данни на таблиците и присъединенията, използвани в SQL изявление (като декартово присъединяване, подразбиращи се декартови присъединения и много-много-много отношения) с диаграми.

Проверете ефективността на съществуващите и алтернативни SQL заявки към базата данни чрез тестване на натоварването. Конфигурирайте SQL заявките да се изпълняват няколко пъти паралелно и да наблюдавате как те реагират на симулирани производствени среди, без риск от реално тестване в производството. Използвайки този инструмент, можете да настроите лошо изпълняващите SQL заявки за SQL Server от интуитивен интерфейс.

Най- SQL тунер за заявки е добавка към SQL Diagnostic Manager. Вече не притежавате този продукт, и двата могат да бъдат закупени заедно като SQL Diagnostic Manager Pro за 2 156 долара на лиценз е налична и безплатна, не изискваща кредитна карта 14-дневна пробна версия от доставчика на продукта

3. Студио за управление на SQL Server

Ако сървърът на вашата база данни е Microsoft SQL Server, може би собственият инструмент на Microsoft, Студио за управление на SQL Server (SSMS), е всичко, от което се нуждаете. Както може би знаете, инструментът - който беше пуснат за първи път с Microsoft SQL Server 2005 - се използва за конфигуриране, управление и администриране на всички компоненти в Microsoft SQL Server. Тя включва както редактори на скриптове, така и графични инструменти, които работят с обекти и функции на сервиза. Това, което може би не знаете, е, че един от инструментите на SSMS, Съветник за настройка на двигателя за бази данни на SQL Server (DTA) може да се използва за оптимизация на SQL заявки.

Снимка на студио за управление на SQL Server

Основната цел на DTA е анализ на бази данни и даване на препоръки. Според официалната документация на Microsoft, инструментът може да ви помогне да отстраните изпълнението на конкретна заявка за проблем, да настроите голяма набор от заявки в една или повече бази данни, извърши проучвателно какво, ако анализ на потенциални промени в дизайна и управлява хранилището пространство.

Едно от най-добрите неща за Студио за управление на SQL Server е цената му. Това е безплатен инструмент от Microsoft, който можете да използвате за управление не само на SQL Server, но и на Azure SQL база данни. Може да не е най-лесният за употреба инструмент там, но предвид цената му може да си струва да разгледаме.

4. EverSQL

EverSQL е интересно, тъй като е един от малкото онлайн инструменти за SQL оптимизация. Администраторите могат да използват този инструмент за получаване на препоръки за настройка на заявки и предложения за подобряване на индексирането. Поддръжка на база данни в EverSQL е донякъде ограничен. Той обаче поддържа най-популярните платени и безплатни и с отворен код двигатели на бази данни, включително MSSQL, Oracle, MySQL, MariaDB и PerconaDB. Всъщност, тъй като това е офлайн инструмент, който няма връзка с вашата база данни, той теоретично би могъл да оптимизира и SQL заявка, но ще свърши по-добра работа, ако знае какъв тип двигател на базата данни ще обработва оптимизирания запитване.

Снимка на EverSQL

Използването на инструмента е супер просто. Свързвате се със сайта, избирате типа и версията на вашата база данни и поставяте кода за SQL заявка. За да получите препоръки за индексиране и да позволите на инструмента да прилага разширени трансформации на заявки, можете по желание да качите структурата на схемата на вашата база данни. Щракнете върху „Напред“ и след секунди получавате оптимизираната версия на вашето запитване, заедно с някои препоръки за индексиране.

EverSQL все пак не прави само оптимизации на заявки. Предлагат се и няколко други безплатни и полезни онлайн инструменти. Има например SQL Query Syntax Check & Validator, Minifier за заявки за SQL изявления и формат на заявките.

Ценовата структура на EverSQL е просто. Имате избор на безплатен план, който ви дава една безплатна оптимизация на заявки на ден в продължение на 30 дни. Това е опитният план. На следващо място, имате основния план на $ 29 / месец, който включва 10 месечни оптимизации и план Plus на $ 135 / месец с 30 оптимизации на месец и поддръжка за чат на живо. Персонализирани планове също могат да бъдат организирани, за да отговарят на вашите специфични нужди.

5. SentryOne Plan Explorer

Plan Explorer е безплатен инструмент от SentryOne. Това е едно от най-добрите инструменти за анализ и оптимизация на SQL заявки. Този инструмент може да ви помогне бързо да стигнете до основата на най-трудните проблеми със заявките към SQL Server. Изработена е от няколко модула. Анализът на индексите използва алгоритми за оценка, за да ви помогне да определите най-добрия индекс за поддържане на дадена заявка. Можете лесно да преглеждате препоръчителни индекси, да създавате и променяте индекси, както и да откривате и актуализирате стари статистически данни.

Модулът за анализ на статистиката ви показва влиянието на компилираните параметри и параметрите на заявките върху изпълнението. Това ви позволява бързо да забележите изкривяване на данни, което може да допринесе за проблеми с подслушването на параметри, да визуализирате потенциални възходящи ключови проблеми и да идентифицирате възможностите за филтрирани индекси.

План на екрана на Explorer

Модулът за профилиране и възпроизвеждане на заявката ще преиграва заявки и ще получи достъп до техните статистически данни за резултатите на живо. Използвайки този инструмент, можете да възпроизведете профила на заявката, за да видите точно кои оператори добавят най-много натоварване на системните ресурси. Не е необходимо да стартирате заявката отново.

Въпреки че повечето оптимизатори на SQL заявки използват прогнозна цена на плана, Plan Explorer може да показва действително наблюдаваните разходи. Можете да видите разликата в цената, като превключите изгледа между прогнозно и действително. В този безплатен инструмент има повече функции, отколкото имаме време да ги представим. Но тъй като е безплатен инструмент, може би ще искате да го опитате и да се убедите сами.

6. dbForge Studio за SQL Server

DevartdbForge Studio за SQL сървър е универсален GUI инструмент за SQL сървър, който може да се използва за управление, администриране, разработка, отчитане на данни, анализ, оптимизация и др. SQL разработчиците и администраторите на бази данни могат да използват GUI инструмента, за да ускорят почти всякакви сложни задачи на база данни, като проектиране бази данни, писане на SQL код, сравняване на бази данни, синхронизиране на схеми и данни, генериране на смислени тестови данни, наред с други.

dbForge Studio за администраторски преглед на SQL Server

dbForge Studio за SQL сървър включва Инструмент за план за SQL заявки, специален инструмент за оптимизиране на заявки. Функцията на схемата за изпълнение на схемата за изпълнение помага да се визуализира и настрои планът за изпълнение на заявките, като се посочат бавно изпълняващите възли. Разделът „Изчакване на статията“ на инструмента ви позволява лесно да откривате потенциални затруднения във вашата заявка, като показва списък на събития и чакания, свързани с тях. Йо може също да използва дървото на плана на инструмента, за да получи информация за това как SQL Server изпълнява SELECT оператор. Той ще ви покаже къде добавянето на индекс към таблица или оптимизирането на присъединяването на таблица например може да увеличи производителността.

Инструментът, който също е известен като T-SQL Query Profiler, е вграден във версиите Standard, Profesional и Enterprise на dbForge Studio за SQL сървър, които са на цена съответно $ 249.95, $ 499.95 и $ 699.95. Налична е безплатна 30-дневна пробна версия на целия продукт - не само инструментът за оптимизация на заявките.

watch instagram story