Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
wiki:3.-servidor:3.5.-replicador:e.-selectividad:start [2017/12/12 12:30]
ejetoro [Rellenar la Selectividad]
wiki:3.-servidor:3.5.-replicador:e.-selectividad:start [2021/03/01 09:28] (actual)
ary [Tabla]
Línea 23: Línea 23:
 Esta tabla **NO** define la selectividad directamente, **ES UNA PLANTILLA** para poder rellenar posteriormente la tabla **MASTER_REPLICA_SELECTED**, que es realmente la tabla que define las reglas de selectividad. Esta tabla **NO** define la selectividad directamente, **ES UNA PLANTILLA** para poder rellenar posteriormente la tabla **MASTER_REPLICA_SELECTED**, que es realmente la tabla que define las reglas de selectividad.
  
-^  CAMPO  ^  TIPO  ^  DESCRIPCIÓN           +^  CAMPO                               ^  TIPO          ^  DESCRIPCIÓN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
-| **ID**  | Autonumérico   | +| **ID**                               | Autonumérico   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
-| **TABLENAME**   | Varchar(50)  | Nombre de la tabla  +| **TABLENAME**                        | Varchar(50)    | Nombre de la tabla                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
-| **ALWAYS**  | Numérico  | ALWAYS=1, se reciben todas las operaciones de la tabla especificada en TABLENAME y se ignora lo que haya definido en CRITERIA, ALWAYS=0, se evalúa la consulta que haya definida en el campo CRITERIA  +| **ALWAYS**                           | Numérico       | ALWAYS=1, se reciben todas las operaciones de la tabla especificada en TABLENAME y se ignora lo que haya definido en CRITERIA, ALWAYS=0, se evalúa la consulta que haya definida en el campo CRITERIA                                                                                                                                                                                                                                                                                                                                                              
-| **CONDITIONAL**  | Numérico  | Deprecated. Utilizado en el servidor de réplica anterior a .NET. Cuando ALWAYS=1, CONDITIONAL=0 y cuando ALWAYS=0, CONDITIONAL=1.  +| **CONDITIONAL**                      | Numérico       | Deprecated. Utilizado en el servidor de réplica anterior a .NET. Cuando ALWAYS=1, CONDITIONAL=0 y cuando ALWAYS=0, CONDITIONAL=1.                                                                                                                                                                                                                                                                                                                                                                                                                                  
-| **CRITERIA**  | Varchar(4096)  | Si el criterio es simple se puede especificar simplemente la condición (P.Ej:IDEMPRESA=1) ó si la condición es compleja con varios joins simplemente tendremos que rescatar el campo ROWID de los valores que cumplen la condición.  |+| **CRITERIA**                         | Varchar(4096)  | Si el criterio es simple se puede especificar simplemente la condición (P.Ej:IDEMPRESA=1) ó si la condición es compleja con varios joins simplemente tendremos que rescatar el campo ROWID de los valores que cumplen la condición.                                                                                                                                                                                                                                                                                                                                | 
 +| **CRITERIAPROVISIONNING** (Con 2 N)  | Varchar(4096)  | **Opcional**. Puede ser utilizado para saltarnos la condición definida para la selectividad en el campo CRITERIA a la hora de provisionar una base de datos. Si este campo está vacío, se coge lo que haya en el campo CRITERIA. <wrap hi>La SQL que se defina en este campo rescataría TODOS los datos de la tabla en cuestión y NO únicamente el ROWID</wrap>. <wrap hi>Para que este campo tenga efecto, en la configuración del servicio %%xoneprovisioning%% hemos de tener el parámetro Using-%%subqueries%%=true además de tener el campo ALWAYS=0</wrap>.  |
 === Ejemplos de CRITERIA en TEMPLATE === === Ejemplos de CRITERIA en TEMPLATE ===
 <code sql> <code sql>
Línea 74: Línea 75:
 | **CONSOLIDATE** | Numérico | Deprecated. Anterior al servidor .NET. Campo de sistema para compatibilidad con versiones antiguas del replicador.  | | **CONSOLIDATE** | Numérico | Deprecated. Anterior al servidor .NET. Campo de sistema para compatibilidad con versiones antiguas del replicador.  |
 | **CRITERIA** | Varchar(4096) | Si el criterio es simple se puede especificar simplemente la condición (P.Ej:IDEMPRESA=1) o si la condición es compleja con varios joins simplemente tendremos que rescatar el campo ROWID de los valores que cumplen la condición.  | | **CRITERIA** | Varchar(4096) | Si el criterio es simple se puede especificar simplemente la condición (P.Ej:IDEMPRESA=1) o si la condición es compleja con varios joins simplemente tendremos que rescatar el campo ROWID de los valores que cumplen la condición.  |
-| **CRITERIAPROVISIONING** | Varchar(4096) | **Opcional**. Puede ser utilizado para saltarnos la condición definida para la selectividad en el campo CRITERIA a la hora de provisionar una base de datos. Si este campo está vacío, se coge lo que haya en el campo CRITERIA. La SQL que se defina en este campo rescataría TODOS los datos de la tabla en cuestión y NO únicamente el ROWID. Para que este campo tenga efecto, en la configuración del servicio <nowiki>xoneprovisioning</nowiki> hemos de tener el parámetro Using-<nowiki>subqueries</nowiki>=true.  |+| **CRITERIAPROVISIONNING** (Con 2 N) | Varchar(4096) | **Opcional**. Puede ser utilizado para saltarnos la condición definida para la selectividad en el campo CRITERIA a la hora de provisionar una base de datos. Si este campo está vacío, se coge lo que haya en el campo CRITERIA. <wrap hi>La SQL que se defina en este campo rescataría TODOS los datos de la tabla en cuestión y NO únicamente el ROWID</wrap><wrap hi>Para que este campo tenga efecto, en la configuración del servicio <nowiki>xoneprovisioning</nowiki> hemos de tener el parámetro Using-<nowiki>subqueries</nowiki>=true además de tener el campo ALWAYS=0</wrap>.  |
  
 ==== SQLs UTILES ==== ==== SQLs UTILES ====
Línea 86: Línea 87:
  SELECT S.MID, T.TABLENAME, T.ALWAYS, REPLACE(T.CRITERIA,'##MID##',S.MID)  SELECT S.MID, T.TABLENAME, T.ALWAYS, REPLACE(T.CRITERIA,'##MID##',S.MID)
  FROM master_replica_slave S, adm_selected_template T  FROM master_replica_slave S, adm_selected_template T
- WHERE MID>1+ WHERE MID>ORDER BY MID 
 + 
 +/* En caso de que también tengamos CRITERIAPROVISIONNING... */ 
 +INSERT INTO master_replica_selected (MID,TBL,ALWAYS,CRITERIA,CRITERIAPROVISIONNING) 
 + SELECT S.MID, T.TABLENAME, T.ALWAYS, REPLACE(T.CRITERIA,'##MID##',S.MID), REPLACE(T.CRITERIAPROVISIONNING,'##MID##',S.MID) 
 + FROM master_replica_slave S, adm_selected_template T 
 + WHERE MID>1 ORDER BY MID
  
 /* REINICIAR EL SERVICIO DE REPLICA */ /* REINICIAR EL SERVICIO DE REPLICA */