Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   duda sobre querys y PLAN (https://www.clubdelphi.com/foros/showthread.php?t=76606)

JXJ 12-11-2011 21:31:30

duda sobre querys y PLAN
 
hace unos meses preguntes que no me funcionaba la conversiond e mssql a firebird
http://www.clubdelphi.com/foros/showthread.php?t=75005
http://www.clubdelphi.com/foros/imag...ine=1302901506 duilioisola
Registrado
me dijo que

Código:

De todos modos, habría que ver el PLAN que te devuelve, para saber que índices está tomando.
 Si nos das esos datos quizás podamos ayudarte.

no le entendi nada. a eso de PLAN, nuncha lo habia escuchado
bueno navegando sobre sqserver encontre esto que habla de un PLAN
de que lanza una query y con el SQL Server Management Studio
http://byfiles.storage.msn.com/y1p8b...PARTNER=WRITER
El costo estimado de la consulta es de 0.685675 y la forma de resolverlo fue un Table Scan, lo que implica leer toda la tabla.

duda

¿es la misma tecnica del SQL server de un PLAN ala que el usuario duilioisola me sugirio?:confused:

¿si es asi. como usar en firebird.?
por rapidez yo no uso las herramientas de consola de comando
uso firebird maestro,
¿se requiere una herramienta que soporte mostrar dicha informacion de un PLAN?

¿solo SQL server sopoarta PLAN, osea mssql. tiene un PLAN que microsft, agrego
comocaracteristica extra que no se apega al estandar sql. ?

probe este query

Código SQL [-]
SELECT 
 ID, RFC, CONTRA, NOMBRE, PERSONALIDAD, ESQUEMAFACTURACION,  
CALLE, NUMEXT, NUMINT, COLONIA, CP, LOCALIDAD, ESTADO, 
MUNICIPIO, PAIS, LOGO, CEDULA 
FROM EMPRESAS WHERE RFC = 'NWM9709244W4'
PLAN (EMPRESAS NATURAL)
por idea de este enlace
http://www.firebirdfaq.org/faq224/

y se ejecuto bien

ni idea de que hace la sentencia PLAN()

gracias por su apoyo. :D

guillotmarc 12-11-2011 22:51:28

Hola.

La cláusula PLAN se utiliza para indicar a la consulta que índices debe utilizar el motor de base de datos para optimizarla.

Normalmente no es necesario indicarlo, puesto que el mismo motor de la base de datos ya es capaz de identificar cuales son los mejores índices para agilizar una consulta. Pero en caso de que una consulta vaya lenta, es posible que el plan utilizado por defecto no sea el mejor posible, en cuyo caso lo podrás cambiar, forzándolo manualmente mediante el uso de esa cláusula.

NOTA: Si pruebas tus consultas desde un gestor de base de datos (como el magnífico IB-Expert), siempre te va a indicar cual es el plan que se ha utilizado.

http://ibexpert.net/ibe/index.php?n=Main.IBExpert

(puedes descargar la versión Personal Edition, que es totalmente gratuita)

Saludos.

JXJ 13-11-2011 00:39:55

woww. dejame digerirlo.

gracias.

guillotmarc

JXJ 17-11-2011 21:48:02

otra duda. ya esoty probando el ibexpert
pero si yo quisiera
obtener esa informacion del plan de ejecucion y el tiempos estimado de duracion

¿se puede hacer con cualquier componente de bases de datos. ?
con los ibxpress
fibplus,
dbexpress
devar ibdac
zeos.

¿o con las utilidades de consola de comando que ya trae firebird al instalarlo?

¿que otros esquemas de ejecucion existe y como forlarlos?

he buscado en internet y no encuentro los planes de ejecucion para firebird.

gracia.s

Lepe 18-11-2011 12:01:09

mmm, bueno, la version gratutita de IB-Expert no muestra el PLAN de ejecución.

yo bajaría flame-robin, gratis, open source, portable, muestra el plan de forma gráfica.

Yo invertiría en el libro de Firebird, creado por la documentadora oficial del proyecto Hellen Borrie, es de pago, pero vale el triple de lo que cuesta.
Código:

Chapter 18 Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Automatic vs. User-Defined Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Query Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
How Indexes Can Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
What to Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
When to Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Using CREATE INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Multi-column Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Inspecting Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Altering an Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Dropping an Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Up Next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343

Algunos apartados del libro con 1128 páginas, son infumables :D :p

Edito: Si pongo el nombre del libro... igual os sirve.... "Apress - The Firebird Book, A reference for database developers"

guillotmarc 18-11-2011 14:11:57

Cita:

Empezado por Lepe (Mensaje 418822)
mmm, bueno, la version gratutita de IB-Expert no muestra el PLAN de ejecución.

Por supuesto que lo muestra. Lo que no muestra son las estadísticas de granularidad de los índices implicados, pero el plan lo muestra perfectamente.

guillotmarc 18-11-2011 14:16:01

Cita:

Empezado por JXJ (Mensaje 418772)
¿se puede hacer con cualquier componente de bases de datos. ?
con los ibxpress
fibplus,
dbexpress
devar ibdac
zeos.

No lo sé, a esta información se accede mediante la Service API de Firebird, y no sé que haya componentes que lo implementan de forma accesible al usuario.

Pero, ¿ para qué lo necesitas ?. Si IB-Expert ya te da el plan, entonces la consulta utilizará el mismo plan en tu aplicación.

NOTA: Para cambiar el PLAN, y forzar un plan personalizado, tienes que añadir la cláusula PLAN al final de la sentencia SQL.

Saludos.

JXJ 19-11-2011 04:41:17

Gracias lepe
y guillotmarc

para conocer mejor y usar firebird. es una cosa muy compleja..

ahora bien. sile pongo la clausula PLAN

voy a tener que hacerme de ese libro y aprender ingles. mas solo los balbuceo

JXJ 19-11-2011 05:37:35

me gustaria poder compilar el
flame-robin, gratis, open source, portable, muestra el plan de forma gráfica.

no le he entendido como se hace. para compilarlo desde las fuentes

Casimiro Notevi 19-11-2011 09:58:25

Bueno, eso no tiene nada que ver con el título de este hilo, aunque ¿para qué quieres compilarlo?, si te hace ilusión compilarlo... descargas el código fuente y lo compilas.

Lepe 24-11-2011 21:35:17

Yo he partido de flamerobin.org, me he ido al link de sourceforge y desde allí a Files -> 0.9.2 y me da esto: http://sourceforge.net/projects/flam...merobin/0.9.2/ El archivo "flamerobin-0.9.2-1-win32.zip" se descarga y descomprime... presto!!.

Si tienes Ubuntu, desde Sistema -> administracion -> gestor de paquetes Synaptic, puedes buscar "flamerobin" y se te instala directo...

eah, ya no tienes "pegas" ;).


La franja horaria es GMT +2. Ahora son las 15:30:48.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi