![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Bueno
Yo me percate de este problema luego de que un cliente me llamo indicandome que una funcion del sistema estaba demasiado lenta, entonces revise el Query y lo reestructure (obvio esto lo hice sobre una copia), en esta copia todo funciono perfectamente, luego al realizar la correccion en la Base de Produccion no tuvo el mismo efecto. hasta que revise los planes y opte por asignar los planes manualmente, realmente no se que tan aconsejable sea esto pero me funciono bien y pienso revisar todo el software para colocar planes fijos en consultas demasiado extensas (aprox. 400) Slds |
#2
|
||||
|
||||
????
Ya que mencionas mucho los PLANES, porque no comentas como dejastes el PLAN y como le hicistes ????
Y como aconsejas dejarlos, con un tamaño grande ó pequeño ????Sinceramente no estoy documentado acerca de los planes que usa firebird. Última edición por AGAG4 fecha: 27-09-2006 a las 02:12:10. Razón: Corrección |
#3
|
||||
|
||||
Cita:
Código:
PLAN SORT (JOIN (TAR INDEX (FK_NEW_TABLE),PER INDEX (RDB$PRIMARY78))) A veces puede seleccionar un plan que no es el mejor. |
#4
|
||||
|
||||
Efectivamente Casimiro, Firebird no siempre toma el mejor plan, he estado investigando y una forma de hacer que el motor tome nuevamente su rumbo en cuanto a establecer el mejor plan para una consulta es simplemente recalcular las estadisticas de los indices.
|
#5
|
||||
|
||||
Más Claro que el Agua no pudo haber quedado, Gracias por despejarme de esa duda acerca de los Planes de firebird.
|
#6
|
||||
|
||||
Cita:
Mi problema se dio a raiz de una migracion de datos, ahi fue donde empezo el problema, lo solucione al principio colocandole manualmente los planes a la las consultas principales, luego investigando cai en la solucion de crear un SP para poder recalcular la Selectivity de los indices, el codigo del SP es el siguiente: Código:
CREATE PROCEDURE MANTENIMIENTO_INDICES AS DECLARE VARIABLE S VARCHAR(200); BEGIN FOR SELECT RDB$INDEX_NAME FROM RDB$INDICES INTO :S DO BEGIN S = 'SET statistics INDEX ' || s || ';'; EXECUTE STATEMENT :s; END SUSPEND; END My 2 Cents |
#7
|
||||
|
||||
![]() ¡Hola a todos!
Los saludo con gusto. Revivo este hilo porque me he topado con algo similar. Mi experiencia con planes y selectividad de índices es casi nula en este momento. Pero hoy aprendí algo sobre lo segundo, gracias a este hilo y los siguientes dos enlaces: http://www.firebirdfaq.org/faq167/ http://vivenciasdiariasmiaspropias.b...imizar-el.html Empiezo por colocar una versión simplificada del procedimiento actualizador de selectividad de índices. En adelante lo tendré en todas mis bases de datos Firebird:
Ahora expongo mi caso sin mayores rodeos. Tengo una consulta Select que se ejecuta unas diez veces más rápido con una condición Where que sin ella (aunque la lógica indique que sin la cláusula Where debería ser más rápida). La he reducido a su mínima expresión y le he dado la siguiente forma para ejemplificar:
Cabe mencionar que la tabla ParteProveedor tiene un índice descendente por el campo FechaModificacion. Comentada la línea del Where, cuando ejecuto la consulta en IB Expert demora alrededor de 4 segundos y en la parte inferior aparece el plan que se utilizó: Cita:
Cita:
Revisando la sintaxis general de una sentencia Select, vi que el plan se especifica como una cláusula más. Así que adapté mi sentencia Select, quedando de esta manera:
Con esto la consulta se ejecuta en una casi imperceptible fracción de segundo. Ahora me toca aprender sobre la sintaxis de la cláusula Plan. Le echaré un vistazo a los manuales, pero si alguien puede adelantarse a explicarnos algo, creo que a muchos nos será de gran valía. Saludos. Al González. ![]() Última edición por Al González fecha: 01-03-2008 a las 02:57:18. |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
No es lo mismo, ni quiere decir lo mismo | obiwuan | Humor | 35 | 21-12-2006 20:25:48 |
Borland tiene un plan Macabro para la Argentina!! | delphi.com.ar | Humor | 3 | 02-07-2006 19:38:16 |
Query sobre dos BDs en el mismo PC en Firebird | papulo | Conexión con bases de datos | 2 | 08-02-2006 17:17:04 |
plan ibarretxe. votamos todos ? | maruenda | Debates | 65 | 08-03-2005 16:41:14 |
Plan Contable | TIKIMORE | Varios | 0 | 29-05-2003 13:29:22 |
![]() |
|