MariaDB - MariaDB procedure/function lentooo

 
Vista:

MariaDB procedure/function lentooo

Publicado por Niko (2 intervenciones) el 21/04/2016 17:08:49
Salu2
Acabo de pasarme a mariaDB, hasta ahora el problema que tengo es el siguiente: tengo una consulta a una tabla de miles de registros :
SELECT idprod,serie,idact FROM productos WHERE idprod=3454 Limit 1;

Al ejecutar la consulta con HeidiSQL(c) , MySQL Query(c), con el conector NET (6.9), etc. el resultado me muestra en 0.0034 seg

Pero la misma consulta dentro de un procedure o funcion (con sólo la consulta):

BEGIN
DECLARE idx,seriex,idactx INT DEFAULT 0;
SELECT idprod,serie,idact INTO idx,seriex,idactx FROM productos WHERE idprod=3454 Limit 1;
RETURN CONCAT_WS(",",idx,seriex,idactx);

me tarda 1.1134 seg

no encuentro la razón por lo que pasa esto, y ocurre con todas las consultas... me resulta un problema porque necesito procesar hasta 1000 registros (con un CURSOR) y me tarda 1000 seg aprox...

gracias desde ya por su ayuda, comentarios...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

MariaDB procedure/function lentooo

Publicado por Niko (2 intervenciones) el 24/04/2016 23:25:36
Bueno, ya lo solucioné... o al menos es casi igual de rápida.. o mejor... xD

Nota: Quizá sea algo obvio, pero igual..., aquí va...

Pude verificar que la codificación de la tabla en cuestión era LATIN y de la base de datos por defecto es UTF8, al cambiar la tabla a UTF8 incluso para los campos VARCHAR que tenía, el resultado fue que el tiempo se redujo al menos en un 30% (0.6750 seg), era algo pero continuaba siendo lento...
El problema en sí resultó ser las PARTICIONES que tenía la tabla, no lo indiqué en mi consulta raíz, porque me pareció más un problema de configuración o algún ajuste de arranque del DBMS, o algo relacionado a los procedures y funciones, además porque en MySQL no ocurría ello... y teníamos "tiempos cortos" en ambos modos..

Bueno, el hecho es que borré las particiones de la tabla y.... el resultado:

Consulta simple: 0.0019 seg
Con FUNCION: 0.0013 seg

Será de ver que rollo con las particiones en MariaDB, y por cierto estos tiempos son menores a los "tiempos cortos" en MySQL...

Salu2...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve
Val: 49
Ha mantenido su posición en MariaDB (en relación al último mes)
Gráfica de MariaDB

MariaDB procedure/function lentooo

Publicado por xve (30 intervenciones) el 25/04/2016 08:16:12
Hola Niko, gracias por comentarlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar