| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
ZHAX1 Master

Registrado: 09 Mar 2007Mensajes: 191
|
Publicado: Jue 03 Jul, 2008 11:03 am Asunto: tablas temporales en memoria |
|
|
Me vendria muy bien para acelerar muchisimo ciertas operaciones poder crear talbas temporales en memoria en lugar de en el disco fisico, esto estaria muy bien si supiese hacerlo para el BDE y aun estaria mejor hacerlo en ado orientado al sql server.
Para que nos entendamos, necesito hacer "create table" pero en memoria que solo este vivo mientras mi programa esta en ejecución.
Saludos. |
|
| Volver arriba |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Jue 03 Jul, 2008 4:01 pm Asunto: |
|
|
Hola ZHAX1 deberias ver TClientDataSet en La Cara Oculta de C++ Builder, encontraras informacion vastante detallada.
saludos Tor _________________ Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr) |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Jue 03 Jul, 2008 7:57 pm Asunto: |
|
|
| Cita: |
Podemos utilizar tablas temporales en memoria para no tener que utilizar el acceso del disco duro del servidor.
Declararemos la tabla y pondremos las columnas y los tipos de datos que tendrá:
DECLARE
@TablaTemporal
TABLE
(
ID numeric(18,0) NOT NULL DEFAULT(0)
)
--Insertaremos el contenido que queramos en nuestra tabla temporal
INSERT INTO
@TablaTemporal
(
IdUsuario
)
SELECT
IdUsuario
FROM
Tabla c
With(NoLock)
Ahora ya podemos acceder a la tabla con una simple select:
SELECT * FROM @TablaTemporal
|
Tomado de http://www.mistrucos.net/truco-sql-server-crear-tablas-temporales-memoria-432.htm
PD.Esto SOLO APLICA A SQL SERVER
porfa usa google  _________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com
Ultima edición por Touchsoftwares el Dom 06 Jul, 2008 6:13 pm, editado 1 vez |
|
| Volver arriba |
|
 |
Tor Master


Registrado: 22 Mar 2005Mensajes: 269Ubicación: obera, misiones, argentina
|
Publicado: Dom 06 Jul, 2008 3:45 pm Asunto: |
|
|
Lo que yo te mencione arriba TClientDataSet estas tablas están en el cliente, lo que te indica Touchsoftwares esta en el servidor, solo quería acotar que si usas mysql como motor, este también tiene soporte para tablas en memoria.
saludos tor _________________ Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr) |
|
| Volver arriba |
|
 |
ZHAX1 Master

Registrado: 09 Mar 2007Mensajes: 191
|
Publicado: Mar 08 Jul, 2008 8:15 am Asunto: |
|
|
gracias, por vuestras respuestas, mirare lo de la cara oculta, lo de buscar en google ya lo habia hecho, y ya habia visitado esa pagina pero queria saber hacerlo tambien del lado cliente, ahora mismo me interesa hacerlo en paradox.
Gracias y Saludos. |
|
| Volver arriba |
|
 |
tronxx Lt JG


Registrado: 30 May 2003Mensajes: 56Ubicación: Merida, Yucatan, Mexico
|
Publicado: Mar 22 Jul, 2008 5:53 pm Asunto: |
|
|
Pues, segun mi experiencia yo he creado tablas en el lado del cliente agregando un TUpdateSQL y no pongo sentencias de actualizacion ni nada,
por ejemplo:
un TQuery *qry_tablatmp;
defini que el sql contenga:
select 0 as codigo, '' as nombre, 0 as cargos, 0 as abonos, 0 as saldo
from clientes where codigo = -1
y ya ejecutando el qry se crea esa tabla en el disco duro del lado de la aplicacion y y le puedes agregar registos con qry_tablatmp->Append();
eliminarlos y todo lo que necesites.
Esa ha sido mi experiencia o por lo menos asi lo he solventado, a lo mejor hay formas mas intelgientes o mas optimas de hacerlo . _________________ La caja decía, requiere Win95 o superior así que instalé Linux. |
|
| Volver arriba |
|
 |
|