powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / 2 общих вопроса
25 сообщений из 25, страница 1 из 1
2 общих вопроса
    #39466370
Воландар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе утро коллеги!

Скажите пожалуйста где я могу найти ответы на 2 следующих вопроса:

1. зачем mssql много оперативки? и если у него будет много оперативки, будет ли запрос выполнятся быстрее или главное быстрые диски?
2. Что такое I/O можно ли как то узнать заранее, сколько будет выполнятся запрос?
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466380
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Воландар,

1) Потому что он читает все данные из кеша, чем туда больше влезит тем меньше надо читать с диска. Нет и Нет.
2) Никак, пока его не выполнишь.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466430
Cammomile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466443
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Воландар, первый раз данные будут читаться с диска, и чем быстрее диски, тем быстрее они прочитаются. При последующих чтениях чем больше оперативки, тем больше шансов, что данные останутся в кэше и будут читаться не с дисков, а из памяти, что сильно быстрее.
для OLTP систем процент данных, читаемых из памяти, должен приближаться к 100, т.е. вся оперативная информация, используемая в запросах, должна быть в кэше.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466446
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Minamoto,

автордля OLTP систем процент данных, читаемых из памяти, должен приближаться к 100, т.е. вся оперативная информация, используемая в запросах, должна быть в кэше.
окак, а что ж тогда эти oltp делают?
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466450
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKMinamoto,

автордля OLTP систем процент данных, читаемых из памяти, должен приближаться к 100, т.е. вся оперативная информация, используемая в запросах, должна быть в кэше.
окак, а что ж тогда эти oltp делают?Не понял вашего вопроса.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466463
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Minamoto,

Он не приближается к 100%, там и есть 100%. И она не то что должна быть в кеше, она только там и есть (чисто технически данные еще есть в СFP но эти файлы нужны только для обеспечения durability и увелечении скорости загрузки данных после старта).
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466465
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleksrovMinamoto,

Он не приближается к 100%, там и есть 100%. И она не то что должна быть в кеше, она только там и есть (чисто технически данные еще есть в СFP но эти файлы нужны только для обеспечения durability и увелечении скорости загрузки данных после старта).
Ну как бы первое чтение идет с диска, поэтому наличие одного чтения с диска автоматически лишает вас 100%. Вопрос в степени приближения к этим 100%.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466488
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleksrovMinamoto,

Он не приближается к 100%, там и есть 100%. И она не то что должна быть в кеше, она только там и есть (чисто технически данные еще есть в СFP но эти файлы нужны только для обеспечения durability и увелечении скорости загрузки данных после старта).Блаженны те, у кого база в памяти помещается.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466501
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

Ну имелась ввиду таблица, в не вся БД :)
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466508
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
aleksrovГавриленко Сергей Алексеевич,
Ну имелась ввиду таблица, в не вся БД :)
с чего это вдруг таблица в 400Гб поместится в 56Гб памяти, например?
не надо выдавать желаемое за действительное
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466576
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o-o,

Хотел написать, что или я вас не понимаю или вы меня, но перечитал тему и понял, что надо пойти попить кофе :)
Я почему то подумал про In memory OLTP, а не OLTP системе в целом, в общем мягко говоря мне привиделось.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39466584
o-o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
o-o
Гость
aleksrovo-o,

Хотел написать, что или я вас не понимаю или вы меня, но перечитал тему и понял, что надо пойти попить кофе :)
Я почему то подумал про In memory OLTP, а не OLTP системе в целом, в общем мягко говоря мне привиделось.
...а я еще думаю, при чем тут CFP?
...
Рейтинг: 0 / 0
2 общих вопроса
    #39467278
Воландар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое за ответы.
Если оперативка не нужна, то нужно ли процов побольше, чтобы в паралелить запросы?
Или достаточно SSD дисков?
...
Рейтинг: 0 / 0
2 общих вопроса
    #39467404
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Воландар,

Вы сообщения не читаете чтоли?
Оперативка нужна и чем ее больше тем лучше.
Самым узким местом обычно является подсистема ввода-вывода, чем быстрее будут диски тем лучше, но это не отменяет того факта что наличие избыточного количества оперативной памяти является плюсом а не минусом.

Сегодня вам может хватать 10 Гб для буффер пула, завтра у вас вырастут базы и те 10 гб что были покажутся просто пшиком.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39467423
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВоландарСпасибо большое за ответы.
Если оперативка не нужна, то нужно ли процов побольше, чтобы в паралелить запросы?
Или достаточно SSD дисков?
Гы :) А Вы задавались вопросом какова скорость чтения с SSD и какова из RAM?
...
Рейтинг: 0 / 0
2 общих вопроса
    #39467616
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторно это не отменяет того факта что наличие избыточного количества оперативной памяти является плюсом а не минусом
Не совсем верно:
https://support.microsoft.com/en-us/help/2413549/using-large-amounts-of-memory-can-result-in-an-inefficient-plan-in-sql-server
...
Рейтинг: 0 / 0
2 общих вопроса
    #39467728
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосовавторно это не отменяет того факта что наличие избыточного количества оперативной памяти является плюсом а не минусом
Не совсем верно:
https://support.microsoft.com/en-us/help/2413549/using-large-amounts-of-memory-can-result-in-an-inefficient-plan-in-sql-server Это статья к описанию трейс-флага. Видимо, какие-то маргинальные запросы себя так ведут.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39467744
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

не то, чтобы маргинальные. Факт подобного поведения был при переезде на другой сервер.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39618634
Воландар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще вопрос:

Как узнать сколько всего памяти SQL Server потребляет одна конкретная сессия с учетом кэша?

И возможно ли это в принципе?

Ведь большинство памяти - это кэш БД.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39618636
Воландар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. есть ли такой запрос, который четко покажет:

spid такой-то в данный момент отъел 100 Гб памяти, а spid секой-то 1 кб.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39618644
aleksrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Воландар,

Вы можете посмотреть через sys.dm_exec_query_memory_grant сколько памяти потребовалось именно этому запросу для выполнения, так помимо прочего сколько требовалось, сколько дано, сколько использовано. Но это не имеет отношения к данным в кэше. В кэше лишь страницы с которыми работает SQL, они могут там быть или могут не быть (в последнем случае он должен будет их прочитать и туда поместить). Вот написанно что такое memory grant .
Grant parameters
When SQL server creates a compiled plan, it calculates two memory grant parameters called "required memory" and "additional memory".
•Required memory: Minimum memory needed to run sort and hash join. It is called required because a query would not start without this memory available. SQL server uses this memory to create internal data structures to handle sort and hash join.
•Additional memory: Amount needed to store all temporary rows in memory. This depends on the cardinality estimate (expected number rows and average size of row). This is called additional because a query can survive lack of such memory by storing part of temporary rows on hard disk. A query is not guaranteed to have the full amount if the total exceeds preset limit.
Вы можете посмотреть сколько clean\dirty страниц в кэше в разрезе БД, но насколько я знаю, что это за страницы, какой запрос и какая сессия их туда поместила посмотреть нельзя (во всяком случае стандартными средствами)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT 
    database_id AS DatabaseID, 
   (CASE WHEN ([database_id] = 32767) THEN N'Resource Database' ELSE DB_NAME ([database_id]) END) AS N'Database Name', 
   (CASE WHEN ([is_modified] = 1) THEN N'Dirty' ELSE N'Clean' END) AS N'Page State', 
   COUNT (*) AS N'Page Count', 
   COUNT(file_id) * 8/1024.0 AS BufferSizeInMB 
FROM sys.dm_os_buffer_descriptors 
   GROUP BY [database_id], [is_modified] 
   ORDER BY [database_id], [is_modified]; 
GO 
...
Рейтинг: 0 / 0
2 общих вопроса
    #39619177
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВоландарИ еще вопрос:

Как узнать сколько всего памяти SQL Server потребляет одна конкретная сессия с учетом кэша?

И возможно ли это в принципе?

Ведь большинство памяти - это кэш БД.Кэш данных не принадлежит какому либо пользователю/запросу/сессии и напрямую ими не особо то контролируется, это как бы общая память, поэтому невозможно получить то что вы хотите.

Да и вообще, судя по вашим вопросам, если оно уже работает, то я на вашем месте лучше бы ничего не трогал. А если у вас какая то проблема, то лучше бы вы проблему описали, либо начните с прочтения хотя бы одной книги о том как работает SQL Server и зачем ему память.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39619303
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВоландарИ еще вопрос:

Как узнать сколько всего памяти SQL Server потребляет одна конкретная сессия с учетом кэша?

И возможно ли это в принципе?Такой же вопрос:
Как узнать сколько всего места для данных на диске потребляет одна конкретная пользовательская сессия SQL Server?

Ответ - узнать это невозможно, потому что сессия - это поток выполнения команд, команды обращаются к памяти и файлам, и разделать использование памяти и диска по сессиям невозможно, т.к. команды из разных сессий могут обращаться к одному и тому же.
...
Рейтинг: 0 / 0
2 общих вопроса
    #39619419
uaggster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ffВоландар,

Вы сообщения не читаете чтоли?
Оперативка нужна и чем ее больше тем лучше.
Самым узким местом обычно является подсистема ввода-вывода, чем быстрее будут диски тем лучше, но это не отменяет того факта что наличие избыточного количества оперативной памяти является плюсом а не минусом.

Сегодня вам может хватать 10 Гб для буффер пула, завтра у вас вырастут базы и те 10 гб что были покажутся просто пшиком.
Только оно, если не энтерпрайз, больше 64 Гб (128 в случае 2016SP1) - всё равно не сожрёт.
Ну под репортинг сервис там или еще что - конечно, но не под сам сервер.

А так то да, конечно. Всего и побольше.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / 2 общих вопроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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