Tablas en Memoria.

14/01/2004 - 19:17 por Eduardo Mora | Informe spam
Saludos,

Tengo una tabla con datos de solo lectura, por lo que me gustaría
colocarla en la memoria que utiliza SQL Server 2000. Sé que en Sybase 12.0,
se puede hacer colocándola en el Data Cache de la memoria del manejador;
pero no he encontrado nada similar para SQL Server 2000.

Agradecería vuestra colaboración al respecto, al enviarme alguna
sugerencia al respecto.

Gracias de antemano.

Eduardo Mora.

Preguntas similare

Leer las respuestas

#1 Javier Loria
14/01/2004 - 22:26 | Informe spam
Hola Eduardo:
La forma de hacerlo es, (tomado de los BOL)
=ÞCLARE @db_id int, @tbl_id int
USE pubs
SET @db_id = DB_ID('pubs')
SET @tbl_id = OBJECT_ID('pubs..authors')
DBCC PINTABLE (@db_id, @tbl_id)
SELECT * FROM PUBS..AUTHORS
== A pesar de eso yo no lo haria, por que normalente implica perdidas en el
desempeno.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Eduardo Mora escribio:
Saludos,

Tengo una tabla con datos de solo lectura, por lo que me gustaría
colocarla en la memoria que utiliza SQL Server 2000. Sé que en Sybase
12.0, se puede hacer colocándola en el Data Cache de la memoria del
manejador; pero no he encontrado nada similar para SQL Server 2000.

Agradecería vuestra colaboración al respecto, al enviarme alguna
sugerencia al respecto.

Gracias de antemano.

Eduardo Mora.
Respuesta Responder a este mensaje
#2 Gustavo Larriera [MVP]
15/01/2004 - 13:56 | Informe spam
Muy interesante, nunca habia usado ese DBCC PINTABLE.

Por lo que leo en los BOL, la precaución es que la tabla a pinnear en
memoria no consuma el buffer cache. Infiero entonces que tal vez con
suficiente memoria + sabiendo el tamaño estimado de la tabla a pinnear +
ajustando el tamaño del buffer cache adecuadamente, se podria usar con
cierta tranquilidad.

Muchisimos saludos
gux

Gustavo Larriera, MSFT MVP-SQL
Uruguay LatAm

This message is provided "AS IS" with no warranties expressed or implied,
and confers no rights.


"Javier Loria" wrote in message
news:%
Hola Eduardo:
La forma de hacerlo es, (tomado de los BOL)
==> DECLARE @db_id int, @tbl_id int
USE pubs
SET @db_id = DB_ID('pubs')
SET @tbl_id = OBJECT_ID('pubs..authors')
DBCC PINTABLE (@db_id, @tbl_id)
SELECT * FROM PUBS..AUTHORS
==> A pesar de eso yo no lo haria, por que normalente implica perdidas en


el
desempeno.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Eduardo Mora escribio:
> Saludos,
>
> Tengo una tabla con datos de solo lectura, por lo que me gustaría
> colocarla en la memoria que utiliza SQL Server 2000. Sé que en Sybase
> 12.0, se puede hacer colocándola en el Data Cache de la memoria del
> manejador; pero no he encontrado nada similar para SQL Server 2000.
>
> Agradecería vuestra colaboración al respecto, al enviarme alguna
> sugerencia al respecto.
>
> Gracias de antemano.
>
> Eduardo Mora.


Respuesta Responder a este mensaje
#3 Javier Loria
15/01/2004 - 14:29 | Informe spam
Hola Gustavo:
El asunto es que SQL tiene algoritmos para tener en memoria RAM las
tablas, indices, etc. mas usados, cuando haces un PINTABLE estas
sobrepasando dicho algoritmo o dicho de otra forma estas eliminando de
memoria RAM tablas o paginas de tablas que son MAS USADAS que la tabla a la
que estas haciendo PIN.
Entonces podriamos decir que el PINTABLE es una tecnica de
DESOPTIMIZACION de SQL :)
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Gustavo Larriera [MVP] escribio:
Muy interesante, nunca habia usado ese DBCC PINTABLE.

Por lo que leo en los BOL, la precaución es que la tabla a pinnear en
memoria no consuma el buffer cache. Infiero entonces que tal vez con
suficiente memoria + sabiendo el tamaño estimado de la tabla a
pinnear + ajustando el tamaño del buffer cache adecuadamente, se
podria usar con cierta tranquilidad.

Muchisimos saludos
gux


"Javier Loria" wrote in message
news:%
Hola Eduardo:
La forma de hacerlo es, (tomado de los BOL)
==>> DECLARE @db_id int, @tbl_id int
USE pubs
SET @db_id = DB_ID('pubs')
SET @tbl_id = OBJECT_ID('pubs..authors')
DBCC PINTABLE (@db_id, @tbl_id)
SELECT * FROM PUBS..AUTHORS
==>> A pesar de eso yo no lo haria, por que normalente implica
perdidas en el desempeno.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Eduardo Mora escribio:
Saludos,

Tengo una tabla con datos de solo lectura, por lo que me
gustaría colocarla en la memoria que utiliza SQL Server 2000. Sé
que en Sybase
12.0, se puede hacer colocándola en el Data Cache de la memoria del
manejador; pero no he encontrado nada similar para SQL Server 2000.

Agradecería vuestra colaboración al respecto, al enviarme alguna
sugerencia al respecto.

Gracias de antemano.

Eduardo Mora.
Respuesta Responder a este mensaje
#4 Eduardo Mora
15/01/2004 - 16:14 | Informe spam
Saludos,

Muchas gracias a todos por sus comentarios... los tendré en cuenta. De
todas formas averiguaba esto para realizar un proceso de migración en donde
hay mucha cantidad de I/O sobre la base de datos, y pensaba que haciendo
estas cargas em memoria RAM, de las tablas de sólo consulta, pudiese mejorar
los tiempos de la migración.

Nuevamente, gracias y estoy a la orden.

Eduardo Mora.

"Adrian Garcia" wrote in message
news:%
Excelente conclusion!!!

Saludos
Adrian D. Garcia
NDSoft

"Javier Loria" wrote in message
news:
> Hola Gustavo:
> El asunto es que SQL tiene algoritmos para tener en memoria RAM las
> tablas, indices, etc. mas usados, cuando haces un PINTABLE estas
> sobrepasando dicho algoritmo o dicho de otra forma estas eliminando de
> memoria RAM tablas o paginas de tablas que son MAS USADAS que la tabla a
la
> que estas haciendo PIN.
> Entonces podriamos decir que el PINTABLE es una tecnica de
> DESOPTIMIZACION de SQL :)
> Saludos,
>
>
> Javier Loria
> Costa Rica
> Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
> que pueda ser copiado y pegado al Query Analizer.
> La version de SQL y Service Pack tambien ayuda.
> Gustavo Larriera [MVP] escribio:
> > Muy interesante, nunca habia usado ese DBCC PINTABLE.
> >
> > Por lo que leo en los BOL, la precaución es que la tabla a pinnear en
> > memoria no consuma el buffer cache. Infiero entonces que tal vez con
> > suficiente memoria + sabiendo el tamaño estimado de la tabla a
> > pinnear + ajustando el tamaño del buffer cache adecuadamente, se
> > podria usar con cierta tranquilidad.
> >
> > Muchisimos saludos
> > gux
> >
> >
> > "Javier Loria" wrote in message
> > news:%
> >> Hola Eduardo:
> >> La forma de hacerlo es, (tomado de los BOL)
> >> ==> > >> DECLARE @db_id int, @tbl_id int
> >> USE pubs
> >> SET @db_id = DB_ID('pubs')
> >> SET @tbl_id = OBJECT_ID('pubs..authors')
> >> DBCC PINTABLE (@db_id, @tbl_id)
> >> SELECT * FROM PUBS..AUTHORS
> >> ==> > >> A pesar de eso yo no lo haria, por que normalente implica
> >> perdidas en el desempeno.
> >> Saludos,
> >>
> >>
> >> Javier Loria
> >> Costa Rica
> >> Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
> >> que pueda ser copiado y pegado al Query Analizer.
> >> La version de SQL y Service Pack tambien ayuda.
> >> Eduardo Mora escribio:
> >>> Saludos,
> >>>
> >>> Tengo una tabla con datos de solo lectura, por lo que me
> >>> gustaría colocarla en la memoria que utiliza SQL Server 2000. Sé
> >>> que en Sybase
> >>> 12.0, se puede hacer colocándola en el Data Cache de la memoria del
> >>> manejador; pero no he encontrado nada similar para SQL Server 2000.
> >>>
> >>> Agradecería vuestra colaboración al respecto, al enviarme alguna
> >>> sugerencia al respecto.
> >>>
> >>> Gracias de antemano.
> >>>
> >>> Eduardo Mora.
>
>


Respuesta Responder a este mensaje
#5 Adrian Garcia
15/01/2004 - 20:24 | Informe spam
Excelente conclusion!!!

Saludos
Adrian D. Garcia
NDSoft

"Javier Loria" wrote in message
news:
Hola Gustavo:
El asunto es que SQL tiene algoritmos para tener en memoria RAM las
tablas, indices, etc. mas usados, cuando haces un PINTABLE estas
sobrepasando dicho algoritmo o dicho de otra forma estas eliminando de
memoria RAM tablas o paginas de tablas que son MAS USADAS que la tabla a


la
que estas haciendo PIN.
Entonces podriamos decir que el PINTABLE es una tecnica de
DESOPTIMIZACION de SQL :)
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Gustavo Larriera [MVP] escribio:
> Muy interesante, nunca habia usado ese DBCC PINTABLE.
>
> Por lo que leo en los BOL, la precaución es que la tabla a pinnear en
> memoria no consuma el buffer cache. Infiero entonces que tal vez con
> suficiente memoria + sabiendo el tamaño estimado de la tabla a
> pinnear + ajustando el tamaño del buffer cache adecuadamente, se
> podria usar con cierta tranquilidad.
>
> Muchisimos saludos
> gux
>
>
> "Javier Loria" wrote in message
> news:%
>> Hola Eduardo:
>> La forma de hacerlo es, (tomado de los BOL)
>> ==> >> DECLARE @db_id int, @tbl_id int
>> USE pubs
>> SET @db_id = DB_ID('pubs')
>> SET @tbl_id = OBJECT_ID('pubs..authors')
>> DBCC PINTABLE (@db_id, @tbl_id)
>> SELECT * FROM PUBS..AUTHORS
>> ==> >> A pesar de eso yo no lo haria, por que normalente implica
>> perdidas en el desempeno.
>> Saludos,
>>
>>
>> Javier Loria
>> Costa Rica
>> Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
>> que pueda ser copiado y pegado al Query Analizer.
>> La version de SQL y Service Pack tambien ayuda.
>> Eduardo Mora escribio:
>>> Saludos,
>>>
>>> Tengo una tabla con datos de solo lectura, por lo que me
>>> gustaría colocarla en la memoria que utiliza SQL Server 2000. Sé
>>> que en Sybase
>>> 12.0, se puede hacer colocándola en el Data Cache de la memoria del
>>> manejador; pero no he encontrado nada similar para SQL Server 2000.
>>>
>>> Agradecería vuestra colaboración al respecto, al enviarme alguna
>>> sugerencia al respecto.
>>>
>>> Gracias de antemano.
>>>
>>> Eduardo Mora.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida