elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Bases de Datos / Re: Mejorar consulta en GENERO e INFORMIX en: 13 Febrero 2010, 01:13 am
Jajaja, no, es parte del problema ... la consulta por tantas tablas es por el hecho de que necesito sacar la clave de la unidad ...

Es un poco complejo de explicar ... necesitaria poner todas las tablas ... y estaria complicado de describir ... dejo mi msn por si alguien quiere ayudarme  :-(  piro_san_@hotmail.com
2  Programación / Bases de Datos / Re: Mejorar consulta en GENERO e INFORMIX en: 12 Febrero 2010, 22:04 pm
Sorry; en CUADERNO_ANOTACIONES, faltaron de verse estos campos despues de los ultimos ....  ¬_¬ :

Código:
 --  -------------------  ------- 
 3   42-FULANO FEO        (null)  
 4   54-sULTANO MAS FEO   (null)  
 2   42-PERENGANO PEREZ   (null)  
3  Programación / Bases de Datos / Re: Mejorar consulta en GENERO e INFORMIX en: 12 Febrero 2010, 21:58 pm
Ok, mira, las tablas son de la siguiente estructura:

Código:
Table
LLEGADA

Column name          Type                                    Nulls

cve_llegada         serial                                  no
cve_paciente        integer                                 yes
cve_unidad          integer                                 yes
cve_cama            integer                                 yes
cve_examenes        integer                                 yes
cve_tpo_llegada     integer                                 yes
cve_doc             integer                                 yes
edad                integer                                 yes
fecha_recep         date                                    yes
hora_recep          datetime hour to second                 yes
motivo_llegada      char(2000)                              yes
ri                  char(2000)                              yes
folio               varchar(255)                            yes
medico_legal        smallint                                yes
conciente           smallint                                yes

Table
CUADERNO_ANOTACIONES

Column name          Type                                    Nulls

cve_nota_atencion    integer                                 no
cve_ingreso_llegada  integer                                 no
cve_seccion          integer                                 no
cve_egreso           integer                                 no
fecha_salida         date                                    yes
hora_salida          datetime hour to second                 yes

Ademas de 16 campos de tipo INT y CHAR, los cuales no importan tanto.
Hay muchos datos (si no es que todos... :¬¬ )  que no me sirven ya que solo me interesa el campo cve_nota_atencion de cuaderno_anotaciones ...

Algunos registros de LLEGADA son:

Código:
   
 ---- ---  ---  ----  ----  ---  ----  ----  ----------  ------------  -------  -------   -------     ------------     ---------     -----------
 30   29   1    36    44    3    5     55    18/11/2002  06:50:45 PM   (null)   (null)    (null)      (null)           (null)        (null)     
 31   30   1    16    45    2    10    3     18/11/2002  07:54:45 PM   (null)   (null)    (null)      (null)           (null)        (null)     
 32   31   1    17    46    2    10    1     18/11/2002  08:03:49 PM   (null)   (null)    (null)      (null)           (null)        (null)         

Y en total en esta tabla hay 30,000 registros.

En CUADERNO_ANOTACIONES tengo registros como estos:
Código:
 ----  ----  ----  ---- ------------  ------------  -------  -------  -------  -------  -------  -------  -------  -------  --------  ---  --------  --  ---  ------------------------  ------- 
 21    22    3     2    31/12/2002    07:13:50 PM   (null)   (null)   (null)   (null)   (null)   (null)   (null)   (null)   (null)    0    (null)    0    4    1-FULANO PEREZ           (null)
 31    37    3     2    12/12/2002    11:40:46 AM   (null)   (null)   (null)   (null)   (null)   (null)   (null)   (null)   (null)    0    (null)    0    4    3-SULTANO MELEZ          (null)
 40    51    3     2    31/12/2002    07:13:50 PM   (null)   (null)   (null)   (null)   (null)   (null)   (null)   (null)   (null)    0    (null)    0    4    68-PERENGANO MARQUEZ     (null)
 49    61    3     2    31/12/2002    07:13:50 PM   (null)   (null)   (null)   (null)   (null)   (null)   (null)   (null)   (null)    0    (null)    0    3    96-ESQUIVEL DE POR ALLA  (null)
         

Y aquí tengo 44,000 registros...

Ahora ... si yo busco:

Código:
SELECT COUNT(a.cve_atencion)
    FROM llegada a INNER JOIN cuaderno_anotaciones b ON a.cve_atencion=b.cve_nota_atencion
    WHERE a.cve_unidad=1
    and b.cve_seccion=3
    AND MONTH(a.fecha_recep)=5
    AND YEAR(a.fecha_recep)=2009

Tengo este resultado:
Código:
(count)    
 ----------
 4         

 1 record(s) selected [Fetch MetaData: 16/ms] [Fetch Data: 0/ms]

 [Executed: 12/02/10 02:48:34 PM CST ] [Execution: 3062/ms]

Ahora, se que no es mucho comparado con los tiempos que tu me has mostrado ... pero el problema viene aqui: tengo que hacer 12 consultas de este tipo (SELECT COUNT) para 1300 unidades, y algunas de esas consultas se realizan con 5 o 6 tablas ....

Mas que nada quiero saber si hay alguna remota posibilidad de hacer esto lo mas rapido posible  :-( ...
4  Programación / Bases de Datos / Re: Mejorar consulta en GENERO e INFORMIX en: 12 Febrero 2010, 17:51 pm
Hola, gracias por responder.

Por campos indices te refieres a los campos indexados o que escriba el nombre de los indices dentro del COUNT??  :-[

Por que si es a los campos indexados ... esos son los que tomo para realizarlo  :-\

Mira, esta es la consulta:

SELECT COUNT(a.cve_atencion)
    FROM llegada a INNER JOIN cuaderno_anotaciones b ON a.cve_atencion=b.cve_nota_atencion
    WHERE a.cve_unidad=1
    and b.cve_seccion=3
    AND MONTH(a.fecha_recep)=5
    AND YEAR(a.fecha_recep)=2009

Y el campo que contiene el indice es cve_atencion.
5  Programación / Bases de Datos / Mejorar consulta en GENERO e INFORMIX en: 12 Febrero 2010, 01:29 am
Hola a todos, como estan?
Soy de México y llegue a estos foros como producto de google xD

Bueno, al grano ahora si, tengo el siguiente "issue":

Pasa que tengo que elaborar un reporte en texto plano con resultados de SELECT COUNT, son en total 12 sentencias de este tipo, donde varía el número de tablas que utilizo, van desde 1 o 2 hasta 6, pero en algunas tablas hay muchisimos registros (cerca de mas de 10,000 por tabla).

He intentado abriendo mi archivo destino solo una vez para escribir los resultados, así como cambiar mis consultas con INNER JOIN, ya que antes las tenia con el fomato normal de sentencia (SELECT COUNT(campo) from tabla1, tabla2 ... WHERE tabla1.col1=tabla2.col1 AND ...) pero aun así tarda mucho (1305 registros en mas de 1 hora O_O')

Como ya lo mencione en el título, el lenguaje de programación que utilizo es GENERO y el DBMS que utilizo es INFORMIX.

Agradeceria mucho me pudieran orientar debido a que esto me ha traido dos dias intentando cosas para hacerlo mas rápido pero nomas no se agiliza U_U

P.D. Si, las tablas estan indexadas xD
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines