powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Standard vs Enterprise (Developer Edition)
10 сообщений из 10, страница 1 из 1
Standard vs Enterprise (Developer Edition)
    #40085595
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi,

Есть продуктовая база на sql-standard 2017 server и тестовая на sql-developer 2017 server. Все работает на Hyper-V, памяти по 20гб и 4 vcpu на каждой. Наблюдаю картину - выписка счета 60 сек на проде, и 20 сек на тесте. Копии базы одинаковые. Трейс ситуацию не прояснает. Жуткая смесь select/insert/update операторов и их много. Готов предоставить отладочную информации по вопросу.

Может ENT более агресивно жует запросы чем стандарт?

Microsoft SQL Server 2017 (RTM-CU22-GDR) (KB4583457) - 14.0.3370.1 (X64) Nov 6 2020 18:19:52 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor)

Microsoft SQL Server 2017 (RTM-CU19) (KB4535007) - 14.0.3281.6 (X64) Jan 23 2020 21:00:04 Copyright (C) 2017 Microsoft Corporation Standard Edition (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor)
...
Рейтинг: 0 / 0
Standard vs Enterprise (Developer Edition)
    #40085598
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterМожет ENT более агресивно жует запросы чем стандарт?Я бы предположил разные планы. Параметры используете?
Подсчитайте общее количество прочитаных/обновленных страниц для одинаковых запросов в двух базах.
...
Рейтинг: 0 / 0
Standard vs Enterprise (Developer Edition)
    #40085654
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter,

Обновите статистику на проде. При деплое, накате патчей и сервис паков всегда делайте это.
...
Рейтинг: 0 / 0
Standard vs Enterprise (Developer Edition)
    #40085674
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunter,

ядро у редакций одно и то же, но на STD добавлены ограничения. Разные рабочие нагрузки, разные кэши, разные планы выполнения запроса. На производственном могут еще и приложения работать.
...
Рейтинг: 0 / 0
Standard vs Enterprise (Developer Edition)
    #40085676
LogrusAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Relic Hunter,

Не знаю что у Вас, но 2017 стандарт вроде не использует индексированные view. А ентерпрайз (и девелопер) используют.
Когда есть индексированные view по таблице и оптимизатор видит, что по view запрос легче, то использует их. Но в стандарте маркетинговое ограничение.

Однако при сравнении плана это видно.
...
Рейтинг: 0 / 0
Standard vs Enterprise (Developer Edition)
    #40085705
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LogrusAS
Relic Hunter,

Не знаю что у Вас, но 2017 стандарт вроде не использует индексированные view. А ентерпрайз (и девелопер) используют.
Когда есть индексированные view по таблице и оптимизатор видит, что по view запрос легче, то использует их. Но в стандарте маркетинговое ограничение.

Однако при сравнении плана это видно.

Лень вам with(noexpand) написать - платите.
...
Рейтинг: 0 / 0
Standard vs Enterprise (Developer Edition)
    #40085709
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222
Лень вам with(noexpand) написать - платите.
Начиная с 2016 SP3 уже и этого не нужно.
...
Рейтинг: 0 / 0
Standard vs Enterprise (Developer Edition)
    #40086016
LogrusAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,

Я Вас может быть безмерно удивлю, но оказывается MS SQL Server используется не только в самописных приложениях.
А и в вполне себе независимых и больших.
Dynamics Nav к примеру из коробки имеет много индексированных view. И запросы делает как специально для них.
Но работает это все только на ентерпрайз. Мне что, все ядро Dynamics Nav переписывать?

И каким образом вообще with(noexpand) поможет если скажем есть таблица и индексированное view с агрегатами?

Я говорю что таком случае запрос типа:

SELECT SUM(field1) FROM table WHERE field2='some'
выполнится в стандарте и ентерпрайзе по РАЗНЫМ индексам. Кстати не факт что индес во вьехе будет оптимальнее.

Так куда тут запихнуть Ваш with(noexpand)?
...
Рейтинг: 0 / 0
Standard vs Enterprise (Developer Edition)
    #40086036
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LogrusAS
aleks222,

Я Вас может быть безмерно удивлю, но оказывается MS SQL Server используется не только в самописных приложениях.
А и в вполне себе независимых и больших.
Dynamics Nav к примеру из коробки имеет много индексированных view. И запросы делает как специально для них.
Но работает это все только на ентерпрайз. Мне что, все ядро Dynamics Nav переписывать?

И каким образом вообще with(noexpand) поможет если скажем есть таблица и индексированное view с агрегатами?

Я говорю что таком случае запрос типа:

SELECT SUM(field1) FROM table WHERE field2='some'
выполнится в стандарте и ентерпрайзе по РАЗНЫМ индексам. Кстати не факт что индес во вьехе будет оптимальнее.

Так куда тут запихнуть Ваш with(noexpand)?


Если у тя хватило денег на Dynamics Nav, наверное хватит и на энтерпрайз.

LogrusAS

Dynamics Nav к примеру из коробки имеет много индексированных view. И запросы делает как специально для них.
Но работает это все только на ентерпрайз. Мне что, все ядро Dynamics Nav переписывать?

Так куда тут запихнуть Ваш with(noexpand)?

Объясняю, для невежд

1. Исходное "индексированное view" переименовываем "индексированное view X"
2. Create vies "индексированное view" as select * from "индексированное view X" with(noexpand);
3. Но проще, конечно, забашлять.
...
Рейтинг: 0 / 0
Standard vs Enterprise (Developer Edition)
    #40087154
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заметил, что на проде sp_reset_connection вызывается в 2 раза чаще чем на тесте. Оно и понятно, используется connection pool. Но возврат соединения в пул штука не дешевая. Может здесь быть собака зарыта?

sp_reset_connection resets the following aspects of a connection:

All error states and numbers (like @@error)

Stops all EC's (execution contexts) that are child threads of a parent EC executing a parallel query

Waits for any outstanding I/O operations that is outstanding

Frees any held buffers on the server by the connection

Unlocks any buffer resources that are used by the connection

Releases all allocated memory owned by the connection

Clears any work or temporary tables that are created by the connection

Kills all global cursors owned by the connection

Closes any open SQL-XML handles that are open

Deletes any open SQL-XML related work tables

Closes all system tables

Closes all user tables

Drops all temporary objects

Aborts open transactions

Defects from a distributed transaction when enlisted

Decrements the reference count for users in current database which releases shared database locks

Frees acquired locks

Releases any acquired handles

Resets all SET options to the default values

Resets the @@rowcount value

Resets the @@identity value

Resets any session level trace options using dbcc traceon()

Resets CONTEXT_INFO to NULL in SQL Server 2005 and newer [ not part of the original article ]
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Standard vs Enterprise (Developer Edition)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]