powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Поместить таблицу в оперативную память
4 сообщений из 4, страница 1 из 1
Поместить таблицу в оперативную память
    #35431991
JenyaD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интересует для ASA 5.x или ASE 12.x.
Можно ли заставить сервер держать определённую таблиу в оперативной памяти ??
...
Рейтинг: 0 / 0
Поместить таблицу в оперативную память
    #35432084
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASE 12.x:
USE <db_name>
go
EXEC sp_bindcache '<cache_name>','<db_name>','<table_name>'
go
...
Рейтинг: 0 / 0
Поместить таблицу в оперативную память
    #35432251
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JenyaD пишет:

> Можно ли заставить сервер держать определённую таблиу в оперативной
> памяти ??

Теоретически нельзя. Потому что если таблица в память не влезет,
то что с ней делать ? С ней же как-то работать надо. Плюс еще
durability не позволяет не сохранять таблицу во внешней памяти.
(тут правда можно поспорить, но не будем).

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

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

во время изменений или после изменений какие-то страницы таблицы (данных и
индекса) могут быть сброшены на диск lazy writer-ом (или как он там называется
? HOUSEKEEPER ?).

во время любой работы с этой таблицей какие-то данные могут не находится
в кэше, они будут туда подкачиваться. При этом, если в кэше таблицы нет
достаточного места для новых данных, из него будут выкинуты старые данные,
и при этом эти старые данные конечно же будут записаны обратно на диск, если
они были изменены.

Собственно, все это происходит в любом случае с любой таблицей, но в случае
использования выделенного именованного кэша для таблицы есть одно преимущество -
последний пункт происходит только из-за активности транзакций с ДАННОЙ таблицей,
а не с другими таблицами, т.е. другие таблицы данной не мешают.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Поместить таблицу в оперативную память
    #35432465
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
JenyaD пишет:

> Можно ли заставить сервер держать определённую таблиу в оперативной
> памяти ??
отдельный именованый кэш

Не обязательно именованый. Можно и в default data cache
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Поместить таблицу в оперативную память
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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