Laserfiche WebLink
What performance issues must be addressed (are there different ways of using ESQL, some <br />? <br />of which are more efficient than others)? <br />The issue of performance is always one to be sensitive to, especially when the system, programs, and <br />database are large. Coding practices are one of the areas that can significantly affect the <br />performance of a system as well as database design, including physical and logical and the overall <br />processing speed of the machine(s) used. ESQL/C programs are created by writing C statements, <br />including special header files, and including SQL statements into the program (see the attached <br />example ESQL/C program). After the program is written the ESQL preprocessor is run on that <br />program. ESQL takes the code, reads all the embedded SQL statements, and turns them into C code. <br />There are many ways to access a database through ESQL. Depending on the type of access some <br />approaches are more efficient than others. When accessing a database through ESQL for viewing <br />data, the program could execute the same select code over and over in a loop to retrieve each record. <br />The program could also open a cursor into the database, process the select code once, and let the <br />database engine handle the rest. The latter method in this case would prove most efficient. In <br />addition to the efficient use of coding constructs, the SQL statements themselves must be closely <br />examined for the best performance. Constructing SQL statements for efficient operation requires <br />that the programmers have knowledge of the underlying database design, making sure that indexed <br />data are used whenever possible and that indices are on the appropriate data elements. This latter <br />process is usually accomplished through testing and use. However, with the use of INFORMIX <br />performance monitoring utilities this is not difficult to accomplish. <br />3.0 CONCLUSIONS AND RECOMMENDATIONS <br />RTi currently has all of the components required to develop, test, execute, and tune ESQL/C <br />programs on the CRDSS database servers as well as ESQL runtime environment product for the <br />CRDSS workstations. The required documentation and resources are also in place to support the <br />above-mentioned activity. As with any new system, resource limitations, such as insufficient <br />memory, will only present themselves as the system evolves and is tested. The resources initially <br />available appear to be adequate for the development effort. Security should not be a significant <br />concern during the early phases of the CRDSS. If a decision is made for the CRDSS to be publicly <br />accessible, then security issues will need to be revisited. <br />3 <br />A275 05.10.94 1.05-7 Malers, Rohlfs <br />