When the customer uses the Informix database, when applying our products, the "Invalid Statement ID" error is always reported when performing a Close operation in PreparedStatement. Bes have to be understood, we can't reappear. Later, I found that it was caused by version problems. Our products only support Informix9.3 or more, while customers are using 9.2, online check, INFORMIX9.2 has not provided technical support, and there are a lot of problems, it is recommended to change to 9.4, Sure enough, I didn't report wrong.
The problem is coming, our products will generate a very complex SQL statement, perform a slow speed in Informix, dozens of records have more than 1 minute, and cannot meet the application. It is found that if the ORDER BY is removed, it is not sorted, and the speed is not a problem, and the results will come out. It seems that INFORMIX is really poor. Change to Oracle to try, no problem, it is also an instant. Or INFORMIX has a problem. But the problem is resolved, and it is a big problem to change the database. So I made a work of Informix tuning.
Informix log files are default 1.5m, which is simply unusable, and it will cause large performance issues, because the database needs to be switched between 6 small files, and there is a lot of performance. DBSPaceTemp, used to set temporary data space, find more performance than usage when not in use, inconsistent with the Informix documentation. In addition, when the query is started, the CPU utilization of the machine where the database is located immediately rose sharply, and the customer's machine is almost unchanged, that is, the customer's machine CPU does not work, which should be an important reason that leads to a slowerness. Unfortunately, I didn't understand why this phenomenon.