想通的sql语句使用 PowerBuilder 进行 Oracle 数据库查询时比 PL/SQL 查询慢
时间: 2024-02-24 11:59:24 浏览: 184
为什么 SQL 语句使用了索引,但却还是慢查询?.doc
结点为0
}
for (i = 0; i < G.numEdges; i++) {
j = Find(parent如果您使用的是相同的 SQL 语句,但在使用 PowerBuilder 进行 Oracle 数据库查询时比 PL/SQL, edges[i].begin);
k = Find(parent, edges[i].end);
if (j != k) { // 如果两个 查询慢,那么可能是以下原因:
1. PowerBuilder 的数据库连接设置不同
PowerBuilder 和 PL/SQL 可结点的父结点不同,说明不在同一个集合中
parent[j] = k; // 将它们能使用不同的数据库连接设置。请检查 PowerBuilder 中的数据库连接设置,确保它与 PL/SQL 中的的父结点设为同一个,表示它们在同一个集合中
printf("(%d, %d) ", edges设置相同,并且具有相同的参数值,例如 fetchsize 等。如果 PowerBuilder 中的数据库连接设置不正确,则[i].begin, edges[i].end); // 输出这条边
}
}
}
void SortEdges(Edge edges[], int n) {
int i, j;
Edge temp;
for (i = 0; i < n - 1; i++)可能会导致查询速度变慢。
2. PowerBuilder 中的缓存设置不同
PowerBuilder 和 PL/SQL 可 {
for (j = i + 1; j < n; j++) {
if (edges[i].weight > edges[j].能使用不同的数据库缓存设置。请检查 PowerBuilder 中的数据库缓存设置,确保它与 PL/SQLweight) {
temp = edges[i];
edges[i] = edges[j];
edges[j] = temp;
}
}
中的设置相同,并且具有相同的缓存大小和过期时间等。如果 PowerBuilder 中的缓存设置 }
}
int Find(int parent[], int f) {
while (parent[f] > 0) {
f = parent[f];
}
return f;
}
```
阅读全文