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

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

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

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

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

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

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

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

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

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

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


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