Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Notas Performance Sap
Notas Performance Sap
SQL Trace
Para iniciar el SQL Performance Trace debe de entrar a la transaccin ST05 o escoger el
path de men: System Utilities Performace Trace
Problematic Statements
Algunos componentes de las sentencias SQL pueden provocar que en optimizer use un ndice subptimo o que no use ninguno.
OR VS. IN
Si se desea que una sentencia SQL devuelva un resultado ordenado, puede ser usada
la clusula ORDER BY para hacerlo en la base de datos o puede usarse la sentencia
ABAP SORT para una tabla interna. La base de datos es un recurso central no escalable,
por lo tanto, deber de usarse ABAP para manejar las operaciones de ordenamiento
siempre que sea posible. Si se est usando el mismo ndice de base de datos para
ordenar los registros de informacin y para seleccionarla (de acuerdo a la clusula
WHERE) tambin puede hacer que la base de datos realice la operacin de
ordenamiento, la base de datos puede manejar el ordenamiento usando el ndice
primario (ORDER BY PRIMARY INDEX), si no se ha usado un ndice primario para
seleccionar la informacin, ORDER BY PRIMARY INDEX ser contra producente.
Ya que no todas las bases de datos soportadas por SAP soportan la sintaxis estndar para
condiciones ON, una sintaxis restringida debe ser usada para asegurar que nicamente JOINs que
devuelvan el mismo set de resultados en todos los sistemas de base de datos sean permitidos:
nicamente puede haber una tabla o vista a la derecha del operador JOIN, no puede tener otra
expresin JOIN.
nicamente AND puede ser usado como operador lgico en una condicin ON.
Cada comparacin en la condicin ON debe de contener un campo de la tabla a la derecha.
Ninguno de los campos en la tabla de la derecha puede aparecer en las condiciones WHERE
del LEFT OUTER JOIN.
Para mayor informacin acerca de la implementacin de funciones JOIN, refirase a la
documentacin ABAP.
Una base de datos lgica es una rutina de lectura reutilizable que, una vez definida, puede ser
usada por mltiples desarrolladores en mltiples aplicaciones.
La estructura de una base de datos lgica define la jerarqua y la secuencia de lectura de los
nodos. La profundidad de la lectura de informacin depende de un reporte de los eventos GET del
programa. La base de datos lgica lee hasta el evento GER ms profundo de todos los nodos que
estn en camino de acceso directo. Los eventos GET son procesados varias veces en un
programa, es decir, una sentencia GET es como un ciclo de procesamiento. Por lo tanto, no deber
de ser programada una sentencia SELECT dentro de un evento GET, ya que esto corresponde a
un SELECT anidado. Derivado de la secuencia predefinida de lectura, debe evitarse el programar
eventos GET que se refieran a nodos jerrquicos profundos que no requieran informacin de nodos
superiores de la jerarqua.
No es recomendable el uso de sentencias SELECT en los bloques GET, ya que tienen los mismos
resultados que un SELECT anidado.
Para mayor informacin acerca de la programacin con bases de datos lgicas,
refirase a la documentacin.
Pueden agruparse elementos de pantalla que de manera lgica deben de estar juntos
usando la extensin BEGIN OF BLOCK <block>. Tambin puede colocarse un marco
alrededor de stos elementos usando WITH FRAME. Se pueden anidar hasta una
profundidad de 5 marcos. Antes de disear una pantalla de seleccin deber de estar
familiarizado con las guas de diseo de pantallas enumeradas en la transaccin BIBS.
jh