我的应用程序在PostgreSQL中使用临时表。在新的8.4版本中,我测试了它的性能,与以前的8.2版本相比,我观察到临时表的慢了10倍!
8.3版本的测试表明,8.3版本的速度也较慢。我比较了所有基础的信任,它们是相似的。所有基地都在同一台服务器上工作。当我的应用程序使用JDBC驱动程序时,我使用Jython来测试它:
import time
import traceback
import sys
from java.sql import DriverManager
from java.lang import Class
Class.forName("org.postgresql
在postgresql函数中创建临时表。然后从我的屏幕调用这个函数来保存一些业务逻辑,这个屏幕是多用户的,多个用户可以从不同的2台客户机访问它,然后想知道这个临时表可以在其中使用。
create temporary table temp_test
( id int, name text) on commit drop;
在创建该脚本的函数fn_test()中使用此脚本并在其中插入记录。如果多用户将访问此屏幕/代码,那么它是否工作?
我有一个函数需要从多个表中返回结果。在Postgresql (现在是9.1,计划很快迁移到9.2 )中可以做到这一点吗?如果是这样,是如何实现的。
例如
create or replace function f1()
returns ???
as $body$ begin
return query select x.*
from users x;
return query select x.*
from user_preferences x join users y using(user_id) ; -- more where clauses
对于db,我使用PHP (Yii框架)和Postgresql。基本上是一个。我刚才提到他们,如果他们是关心这个问题的话。
总之,我想实现的是,我有一个提交行动:
public function actionSubmitData($id){
//Execute Sql queries here
$this->render('view',array(
//some data
));
}
问题是,我将在中处理大量数据;在每个表大约有10列的4个表中,每个表中将处理大约50,000个记录,这是相当大的。用例是用
我正在使用复制table_name从STDIN导入数据。这是非常有效的,但如果有任何违反重复的密钥,整个过程将被停止。不管怎么说,这件事有什么用吗?
为什么postgresql不只是发出警告并复制其余的数据呢?
下面是一个例子:
select * from "Demo1";
Id | Name | Age
---+-------+-----
1 | abc | 20
2 | def | 22
COPY "Demo1" from STDIN;
Enter data to be copied followed by a newlin
‘’我正在使用postgresql 9.5。
对于一个id,我可以查询如下:
select a,b from mytable where id = '1234' order by a,b;
Q1。
我在txt文件中有50个唯一感兴趣的id。如何一次运行所有50个id的^查询?
(总的来说,mytable中有大约100000条记录)
Q2。
如果可能的话,我还想将结果递归保存到不同的文本文件中。
对于一个文件我可以做
COPY "select a,b from mytable where id = '1234' order by a,b;" TO