Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32

Сравнение производительности MSSQL и PostgreSQL

08.04.2025, 14:14. Показов 3742. Ответов 35

Студворк — интернет-сервис помощи студентам
Тема для тех, кто юзает обе СУБД.

В Инете нашёл несколько восторженных статей, что PG ни чуть не хуже, а в некоторых случаях даже лучше MSSQL по производительности.
Единственные нарекания только на оптимизатор PG, т.е., его производительность может упасть при очень сложных запросах

Во-первых, я что-то не так оптимистичен по поводу производительности в отношении PG. Во-вторых, он очень неудобный в плане отладки. Нет нормальных менеджеров. Причём функционал даже платных менеджеров не позволяет создавать индексы с включёнными столбцами, не участвующими в построении индекса (опция INCLUDE). Такая опция имеется только в pgAdmin, но он, сам по себе, уё...

У кого, какое мнение?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.04.2025, 14:14
Ответы с готовыми решениями:

Совместимость datetime в MSSQL 7 и MSSQL 2000
Господа, помогите разобраться. Такая ситуация, понаписал скриптов под SQL 7, перенесли на SQL 2000,...

Перенос БД из MSSQL 6.5 на MSSQL 7.0
Как перенести базу с сервера 6.5 на сервер 7.0? Серверы стоят на разных компьютерах. В помощи...

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

35
Эксперт .NET
 Аватар для Usaga
14085 / 9303 / 1347
Регистрация: 21.01.2016
Сообщений: 34,908
08.04.2025, 15:54
Лучший ответ Сообщение было отмечено avm71 как решение

Решение

Цитата Сообщение от avm71 Посмотреть сообщение
Причём функционал даже платных менеджеров не позволяет создавать индексы с включёнными столбцами, не участвующими в построении индекса (опция INCLUDE). Такая опция имеется только в pgAdmin, но он, сам по себе, уё...
Чё?.. Обычным запросом индексы в базе уже не модно стало создавать?..
0
 Аватар для Andrey-MSK
3308 / 2196 / 386
Регистрация: 14.08.2018
Сообщений: 7,392
Записей в блоге: 4
08.04.2025, 16:17
Лучший ответ Сообщение было отмечено avm71 как решение

Решение

Цитата Сообщение от Usaga Посмотреть сообщение
Чё?.. Обычным запросом индексы в базе уже не модно стало создавать?..
Этож скока буковок нужно нажать и ещё слова нужно знать забугорные, а так крысой подавил по кнопкам и готово
0
Эксперт .NET
 Аватар для Usaga
14085 / 9303 / 1347
Регистрация: 21.01.2016
Сообщений: 34,908
08.04.2025, 16:26
Andrey-MSK, ну да) Кнопочку не дали - значит фича не доступна) Пойти почитать учебник? Да ну нафиг!)))
1
1303 / 357 / 97
Регистрация: 14.10.2022
Сообщений: 1,085
08.04.2025, 17:04
avm71, ты ответь, тебе купить или продать?
Если отбояриться от переноса унаследованного ПО с сикуела на постгресс - это один вопрос.
Если проект новый, и ты оцениваешь, чего брать [то ответ - однозначно постгресс (про), как не имеющий политических рисков, и вообще так положено по требованиям ЦБ РФ] - то требуется дополнительное исследование проекта.
2
Нарушитель
170 / 286 / 26
Регистрация: 11.08.2022
Сообщений: 3,616
09.04.2025, 00:19
Цитата Сообщение от avm71 Посмотреть сообщение
в отношении PG. Во-вторых, он очень неудобный в плане отладки. Нет нормальных менеджеров.
Попробуйте dbeaver.
1
Эксперт .NET
 Аватар для Usaga
14085 / 9303 / 1347
Регистрация: 21.01.2016
Сообщений: 34,908
09.04.2025, 00:39
Цитата Сообщение от Ludwig Valentin Посмотреть сообщение
Попробуйте dbeaver.
Это хорошая штука. Сами ею на работе пользуемся. Но у ТС проблемы на системном уровнем. Это лечится чтением учебника\документации по постгре в первую очередь...

Иначе он так и будет бегать в поисках "менеджера" с волшебной кнопочкой...
0
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32
10.04.2025, 13:15  [ТС]
Переписываю готовый проект

Добавлено через 31 секунду
Тоже к такому выводу пришёл

Добавлено через 2 минуты
Все эти буковки я знаю - это простое удобство, если забыл, как построен индекс, заглянуть в его устройство.
а если так рассуждать, давайте на ассемблере всё программировать - там ещё больше букв
0
Эксперт .NET
 Аватар для Usaga
14085 / 9303 / 1347
Регистрация: 21.01.2016
Сообщений: 34,908
10.04.2025, 17:46
Цитата Сообщение от avm71 Посмотреть сообщение
а если так рассуждать, давайте на ассемблере всё программировать - там ещё больше букв
Не надо до абсурда сводить мои слова. Я тебе предлагаю не буковки знать, а учебник по постгресу почитать. Или документацию. Чтобы знать как там можно легко и без менеджеров платных создать индексы покрывающие.
0
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32
11.04.2025, 11:29  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
Чё?.. Обычным запросом индексы в базе уже не модно стало создавать?..
Переписать проект на другие лыжи в связи с рекомендацией для критически важных предприятий
Я знаю как строится индекс . Вы, как я погляжу любители ручной работы? Я привык при достижении результата пользоваться всеми доступными инструментами.
С помощью INCLUDE в индекс добавляются просто значения указанных колонок. Эти колонки в построении индекса (ключа) не участвуют. Индекс с неключевыми столбцами может значительно повысить производительность запроса, когда все столбцы запроса включены в индекс как ключевые или неключевые. Повышение производительности достигается, так как оптимизатор запросов может найти все значения столбцов в индексе и, в этом случае, нет необходимости прыгать за данными в саму таблицу.

Когда у тебя в проекте несколько десятков таблиц ты уже не помнишь структуру всех индексов. Очень удобно в интерфейсе менеджера ткнуть в индекс и увидеть его структуру.
Так вот, все менеджеры (платные и бесплатные), кроме pgAdmin видят столбцы из рубрики INCLUDE в составе ключевых столбцов.
0
1338 / 918 / 264
Регистрация: 08.08.2014
Сообщений: 2,758
11.04.2025, 11:59
Цитата Сообщение от avm71 Посмотреть сообщение
Вы, как я погляжу любители ручной работы?
Ну это надёжнее и безопаснее, чем через UI. Ну т.е. посмотреть список/состав индексов ок, через UI это реально удобно. Но вот создавать/редактировать структуру БД через UI - слишком страшно, потому как каждый раз приходится гадать, что там этот платный/бесплатный инструмент нагенерирует.

Ну и на реальных проектах вообще не понятно, как через UI структуру БД менять - кто-то из коллег добавил/поменял индекс/таблицу/итп, описал всё это в виде SQL, закоммитил ... и при публикации проекта в прод/тест (или даже при запуске в локально в отладке) мне куда проще взять этот SQL из Гита, бегло оценить суть и потом просто выполнить, чем открывать UI, выискивать там нужную таблицу и там этот индекс мышкой повторять, читая SQL его создания/модификации.

P.S.: к тому же, разные UI-инструменты могут вести себя по-разному, иметь разные параметры по умолчанию, а ещё могут менять своё поведение при обновлении версии. А SQL-скрипт - он как работал, так и продолжает работать.
3
932 / 365 / 43
Регистрация: 10.05.2021
Сообщений: 1,564
Записей в блоге: 10
11.04.2025, 13:10
Цитата Сообщение от kotelok Посмотреть сообщение
Ну это надёжнее и безопаснее, чем через UI
+ быстрее
+ UI могут помешать ограничения, которых не будет у скрипта
+ скрипты можно хранить в проекте/блокноте/ХП — быстро находить и быстро запускать, при необходимости
1
Эксперт .NET
 Аватар для Usaga
14085 / 9303 / 1347
Регистрация: 21.01.2016
Сообщений: 34,908
11.04.2025, 16:23
avm71, я не понимаю о какой ручной работе ты говоришь. И тем более о какой её улучшении в тыкании мышью в GUI менеджера.

У нас в проекте более шести сотен таблиц и вьюх. Мне не надо ничего такого обо всём этом помнить. Или иметь какой-то особенный "волшебный" менеджер.

Если мне надо посмотреть где что есть, я в DBViewer это делаю. А если надо куда-то что-то добавить, то это уже определённый ритуал, с созданием миграции базы. А это в любом случае ручная работа. В любом. Ведь эта миграция должна быть автоматизирована и воспроизводима. Чтобы другие разработчики могли воспроизвести. И тестировщики. И у пользователей оно воспроизвелось.

А то, что ты тут спрашиваешь - какой-то детский садик.
0
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32
11.04.2025, 16:26  [ТС]
Цитата Сообщение от kotelok Посмотреть сообщение
Ну это надёжнее и безопаснее, чем через UI. Ну т.е. посмотреть список/состав индексов ок, через UI это реально удобно. Но вот создавать/редактировать структуру БД через UI - слишком страшно, потому как каждый раз приходится гадать, что там этот платный/бесплатный инструмент нагенерирует.
...в том-то и всё дело. У MS SQL Очень надёжный UI (многолетняя эксплуатация) - проблем никогда не было, всё чётко. Потому и задаю эти вопросы, чтобы понять чего мне ожидать на этом новом поприще (переписывать БД на MS SQL в PG), и узнать у опытных людей, как грамотно управляться с PG - хочется сначала определиться с инструментами.
0
Эксперт .NET
 Аватар для Usaga
14085 / 9303 / 1347
Регистрация: 21.01.2016
Сообщений: 34,908
11.04.2025, 16:28
Цитата Сообщение от avm71 Посмотреть сообщение
У MS SQL Очень надёжный UI (многолетняя эксплуатация) - проблем никогда не было, всё чётко
Ты не поверишь, но у MS SQL никогда не было и нет никакого UI... SQL Management Studio не является частью СУБД SQL Server. И более того: оно не является единственной админкой для этой СУБД.
0
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32
11.04.2025, 16:35  [ТС]
...В общем, ладно. Попробовав кучу всего тоже пришёл к выводу, что для PG использовать DBever.
Всем откликнувшимся спасибо!

P.S.
Т.к., альтернатив перехода от вражеского ПО нет, будем работать с тем, что имеем, с PG, тем более, что о нём очень много лестных отзывов. Но очень не привычно.
0
Эксперт .NET
 Аватар для Usaga
14085 / 9303 / 1347
Регистрация: 21.01.2016
Сообщений: 34,908
11.04.2025, 16:41
avm71, заметь: PG тебе тоже не очень дружеский. Только платный PostgreSQL PRO, который стоит как крыло от самолёта.
0
0 / 0 / 0
Регистрация: 18.02.2019
Сообщений: 32
15.04.2025, 09:59  [ТС]
Добавлено через 1 минуту
Цитата Сообщение от Usaga Посмотреть сообщение
avm71, заметь: PG тебе тоже не очень дружеский. Только платный PostgreSQL PRO, который стоит как крыло от самолёта.
Для организации это меньше, чем копейки (если это, конечно, не ларёк с леденцами). Главное соответствие требованиям по функционалу, надёжности и информационной политике.
Оборудование, на котором будет крутиться СУБД в разы дороже
0
Нарушитель
170 / 286 / 26
Регистрация: 11.08.2022
Сообщений: 3,616
17.04.2025, 16:14
Цитата Сообщение от Usaga Посмотреть сообщение
Только платный PostgreSQL PRO
А вам нужна репликация?
Или купите хостинг у провайдера, или вы серьёзная фирма со своим интранетом и DMZ?
0
Эксперт .NET
 Аватар для Usaga
14085 / 9303 / 1347
Регистрация: 21.01.2016
Сообщений: 34,908
17.04.2025, 16:47
Ludwig Valentin, я не понимаю вопроса. Мы здесь чьи горести обсуждаем?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.04.2025, 16:47
Помогаю со студенческими работами здесь

Сравнение строк в двух SELECT (MSSQL 2008)
Добрый день. Подскажите пожалуйста, как сделать следующее: Сравнить два набора: SELECT column1...

MySQL и MsSQL на одной машине
Ребята вопрос простой. В небольшой локальной сети есть компьютер на котором крутится mssql сервер...

Конвертор с MySQl в MSSQL
Кто знает программы по конвертированию БД с MySQl в MSSQL

Полный экспорт базы данных mssql
Цель- перенести полностью database с одной машины на другую. Думал этот вопрос мне будет понятен и...

Win7 и MSSQL 2005
Доброго времени суток!Подскажите пожалуйста на XP база подключается без проблем,а на 7 выдаёт такую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru