|
|
|
Как загрузить таблицу в кэш без выдачи сервером результата? (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
Доброго всем дня! Скажите, как можно загрузить таблицу в кэш, чтоб сервер не выдавал результата? Например Код: plaintext 1. 2. А я хочу чтоб таблица всего лишь закэшировалась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2009, 09:49 |
|
||
|
Как загрузить таблицу в кэш без выдачи сервером результата? (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
вот как Код: plaintext а по сути, я хочу добиться того, чтоб перед выполнением определенной процедуры, кэшировался ряд таблиц связанных с этой процедурой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2009, 11:11 |
|
||
|
Как загрузить таблицу в кэш без выдачи сервером результата? (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
Таблицу можно прикрепить к определенному кэшу. Если к кэшу при- креплена не таблица, а база данных, то все ее операции ввода-вывода выполняются в этом кэше. sp_bindcache - Прикрепляет базу данных, таблицу, индекс или объект типа text и image к кэшу данных. Синтаксис sp_bindcache cachename, dbname [, [ownername.]tablename[, indexname| "text only"]] Параметры cachename Имя активного кэша данных. dbname Имя базы данных, прикрепляемой к кэшу, либо базы данных, таблица которой, индекс или объект типа text или image должны быть прикреп- лены к кэшу. ownername Имя владельца таблицы. Если владельцем таблицы является “dbo”, имя владельца указывать необязательно. tablename Имя таблицы, прикрепляемой к кэшу, либо имя таблицы, чей индекс или объект типа text или image должен быть прикреплен к кэшу. indexname Имя индекса, который должен быть прикреплен к кэшу. text only Прикрепляет к кэшу объекты типа text или image. Вместе с этим пара- метром нельзя указывать имя индекса. sp_unbindcache - Открепляет базу данных, таблицу, индекс, объекты типа text или image от кэша данных. Синтаксис sp_unbindcache dbname [,[owner.]tablename [, indexname | "text only"]] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2009, 13:59 |
|
||
|
Как загрузить таблицу в кэш без выдачи сервером результата? (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
Badger, у меня сейчас все таблицы вешаются на дефолтный кэш. создавать именованный кэш, чтоб потом на него цеплять необходимые таблицы не особо хочется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2009, 15:14 |
|
||
|
Как загрузить таблицу в кэш без выдачи сервером результата? (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
ImperousBadger, у меня сейчас все таблицы вешаются на дефолтный кэш. создавать именованный кэш, чтоб потом на него цеплять необходимые таблицы не особо хочется...А я именно так и сделал, и оказалось, что работает лучше если найти оптимальное сочетание между основной базой (засунутыми туда таблицами) отдельным кэшем для temp_db, (где будут создаваться временные таблицы из под процедур). Если бы кэша было побольше, я бы туда все засунул... :) а вот кэш по умолчанию у меня работает плохо, как будто его вообще нет. Но это так, я не настаиваю. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2009, 16:39 |
|
||
|
Как загрузить таблицу в кэш без выдачи сервером результата? (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
создай хп со вставкой всех данных во временную таблицу и дергай ее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2009, 17:16 |
|
||
|
Как загрузить таблицу в кэш без выдачи сервером результата? (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
Imperous wrote: > set noexec on -- ничего в кеш не положит. Потому что запрос не выполняется при этом. И вообще, идея преднаполнять кэш для выполнения одной процедуры или запроса вообще дурацкая, кэш на то и кэш, чтобы наполнялся сам и тем, что серверу нужно. Ты не сможешь предсказать, что ему будет нужно для выполнения твоего запроса. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2009, 04:33 |
|
||
|
Как загрузить таблицу в кэш без выдачи сервером результата? (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
Imperous wrote: > Скажите, как можно загрузить таблицу в кэш, чтоб сервер не выдавал > результата? Понимаешь, тут всё дело в "загрузить таблицу в кэш". Что это значит ? В кэш вообще грузятся не таблицы, а страницы: данных, индексов и текстовых /имеджёвых полей. Что нужно тебе -- не понятно. И не понятно, как бы ты понял, какие именно страницы тебе нужны. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2009, 04:37 |
|
||
|
Как загрузить таблицу в кэш без выдачи сервером результата? (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
MasterZiv Imperous wrote: > Скажите, как можно загрузить таблицу в кэш, чтоб сервер не выдавал > результата? Понимаешь, тут всё дело в "загрузить таблицу в кэш". Что это значит ? В кэш вообще грузятся не таблицы, а страницы: данных, индексов и текстовых /имеджёвых полей. Что нужно тебе -- не понятно. И не понятно, как бы ты понял, какие именно страницы тебе нужны. нужны все страницы и все индексы необходимой таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2009, 20:08 |
|
||
|
Как загрузить таблицу в кэш без выдачи сервером результата? (ASE 12.5)
|
|||
|---|---|---|---|
|
#18+
Imperous wrote: > /имеджёвых полей. Что нужно тебе -- не понятно. И не понятно, как бы ты > понял, какие именно страницы тебе нужны. > > > нужны все страницы и все индексы необходимой таблицы А с чего ты взял, что они тебе именно все нужны ? А как ты будешь уверен, что все они загружены ? Вообще прогрузить кэш можно только опосредованно через запросы, и то ты никогда не сможешь быть уверен, что в итоге все страницы в результате будут в кэше. Для загрузки самой таблицы обычно нужно выполнить select * from the_table но при этом надо обеспечить использование стратегии заполнения кэша, а не замещения только что прочитанных страниц. Это всё можно сделать хинтами, select * from the_table (index 0) prefetch 16 lru или абстрактным планом select * from the_table plan "(hints (t_scan (table the_table)) (prop the_table (lru) (prefetch 16)))" Если нужно подавить вы-FETCH-ивание клиенту и вывод данных там, то можно выбирать данные в переменную (при этом как правило достаточно только одного поля таблицы, лучше неключевого). Индексы можно прогрузить аналогичным запросом, но с использованием конкретного индекса. И наконец, в такой постановке задача не имеет смысла. Объясню, почему. Если таблица большая, это займёт много времени, и причём времени, выброшенного впустую. Если при работе будет использоваться только часть данных таблицы, то время, потраченное на остальную часть, было потрачено зря. Если будет использоваться вся таблица, то как бы всё нормально, но та же работа могла бы быть выполнена и запросами, посылаемыми пользователями, только при этом они бы ждали немного больше, но только в первый раз, но старта сервера они всё равно будут ждать то же время. Если таблица маленькая, то засосать её в кэш не проблема, и эта операция вообще не имеет смысла. Единственное полезное применение набивки кэша -- это когда таблица большая, но из неё чаще всего используется определённая меньшая часть, при чём фиксированная. Тогда преднабить кэш можно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2009, 21:22 |
|
||
|
|

start [/forum/topic.php?fid=55&tid=2010989]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 10ms |
| total: | 154ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...