小编Dav*_*vis的帖子

批量插入数亿条记录

将2.37亿条记录插入到具有规则的表中(用于跨子表分发数据)的最快方法是什么?

我试过或考虑过:

  1. 插入语句.
  2. 事务性插入(BEGINCOMMIT).
  3. COPY FROM命令.
  4. http://pgbulkload.projects.postgresql.org/

插入太慢(四天)并COPY FROM忽略规则(并有其他问题).

示例数据:

station_id,taken,amount,category_id,flag
1,'1984-07-1',0,4,
1,'1984-07-2',0,4,
1,'1984-07-3',0,4,
1,'1984-07-4',0,4,T
Run Code Online (Sandbox Code Playgroud)

表结构(包含一个规则):

CREATE TABLE climate.measurement
(
  id bigserial NOT NULL,
  station_id integer NOT NULL,
  taken date NOT NULL,
  amount numeric(8,2) NOT NULL,
  category_id smallint NOT NULL,
  flag character varying(1) NOT NULL DEFAULT ' '::character varying
)
WITH (
  OIDS=FALSE
);
ALTER TABLE climate.measurement OWNER TO postgres;

CREATE OR REPLACE RULE i_measurement_01_001 AS
    ON INSERT TO climate.measurement
   WHERE date_part('month'::text, …
Run Code Online (Sandbox Code Playgroud)

postgresql bulkinsert

4
推荐指数
1
解决办法
2万
查看次数

度假村(重新排序)表数据

使用 PostgreSQL 重新排序(重新排序)表以使物理表示最接近逻辑匹配的最快方法是什么?

sql postgresql

4
推荐指数
1
解决办法
4006
查看次数

Java字节码编译器基准测试

问题1.什么免费编译器产生最优的Java字节码?

Q.2.什么免费虚拟机最快地执行Java字节码(在64位多核CPU上)?

Q.3.此列表中缺少哪些其他(当前活动的)编译器项目:

Q.4.编译器可以做什么性能改进JIT不能(或不能)?

Q.5.最近的一些基准,比较或枪战(第一季度或第二季度)在哪里?

谢谢!

java jvm bytecode javac premature-optimization

4
推荐指数
1
解决办法
1073
查看次数

有关嵌入式PDF的用户界面问题

问题1.从可用性的角度来看,在网页中嵌入PDF有哪些优点和缺点?

Q.2.一般来说,对于普通计算机用户来说,哪种场景提供了最"简化"的体验?

Q.3.使用cookie记住选项会大大改善场景#2吗?

场景#1

  1. 用户设置选项.
  2. 用户单击"报告"按钮.
  3. PDF作为附件发送(保存或打开).
好处
  • 选项不会重置.
缺点
  • PDF可能会阻碍网页.
  • 用户可能会打开太多PDF窗口(降低系统性能).

场景#2

  1. 用户设置选项.
  2. 用户单击"报告"按钮.
  3. PDF嵌入在页面中.
  4. 用户单击后退,选项将被重置(AJAX,没有cookie).
好处
  • 结果立即显示(无额外点击).
缺点
  • 并非所有浏览器都支持嵌入PDF(?).
  • 网页(即" 报告"按钮)消失.

谢谢!

pdf user-interface cross-browser hci

4
推荐指数
1
解决办法
218
查看次数

将数据库类型映射到具体的Java类

背景

将列数据类型映射到其对应的Java类.

问题

查询从数据库返回元信息:

SELECT
  rb.object_schema,
  rb.object_name,
  rb.column_name
FROM
  dictionary.resource_bundle rb
Run Code Online (Sandbox Code Playgroud)

例如,此查询返回(自引用):

dictionary, resource_bundle, column_name
Run Code Online (Sandbox Code Playgroud)

其中'dictionary'是模式名称,'resource_bundle'是object_name,'column_name'是column_name.

做以下事情会很棒:

SELECT
  rb.object_schema,
  rb.object_name,
  rb.column_name,
  rb.column_type
FROM
  dictionary.resource_bundle rb
Run Code Online (Sandbox Code Playgroud)

并让此查询返回:

dictionary, resource_bundle, column_name, varchar
Run Code Online (Sandbox Code Playgroud)

然后使用JDBC来发现varchar映射java.lang.String.

问题

  1. 在PostgreSQL中,如果给定模式名称,对象名称(保证是表或视图)和列名,您如何确定用于存储数据的类型?
  2. 以数据库中立的方式(利用JDBC),如何确定数据库用于给定数据类型的映射?

谢谢!

java sql postgresql metadata jdbc

4
推荐指数
1
解决办法
9986
查看次数

java httpsession有效吗?

我在tomcat中使用java servlet.我在哈希表中保存用户名和带有属性usrname的httpsession我想知道是否有办法知道httpsession是否有效.

我试过了:

try{
    String user = httpSession.getAttribute("username")
    return "is valid";
}catch(IllegalStateException e){
    return "is not valid";
}
Run Code Online (Sandbox Code Playgroud)

得到答案的答案,但如果我不认为"已登录"的用户从一个地方连接起来怎么办?如果我只控制我创建一个新的会话,我不知道他是否连接另一个会话.

java servlets httpsession

4
推荐指数
2
解决办法
1万
查看次数

Openlayer:删除多个弹出窗口

我正在尝试使用OpenLayers 2.11创建空间调查,但是关闭多个弹出窗口的函数存在一些问题.

以下代码适用于一个弹出窗口,但该函数无法关闭多个弹出窗口并发布内容.

是否有OpenLayers方法在创建新弹出窗口时销毁旧弹出窗口?

function submitform() {
  document.myform.submit();
  loop_popups();
}
Run Code Online (Sandbox Code Playgroud)

-

function loop_popups() {
  for( var i = 0; i < map.popups.length; ++i ) { 
    map.removePopup(map.popups[i]); 
  };
}
Run Code Online (Sandbox Code Playgroud)

-

<form name="myform" action="sqlinsert.php" method="post" target="_blank">
<a href="javascript: submitform()">Save/close</a>
Run Code Online (Sandbox Code Playgroud)

html javascript php openlayers

4
推荐指数
1
解决办法
2203
查看次数

如何水平显示自定义数量的元素?

我想水平显示元素(在一个"行"中).我想象这个问题就像一个有一行和动态列数的表.此表中的每个单元格包含相同的子报表但具有不同的数据源.

一开始我尝试组合组件列表和子报表.但事实证明,列表组件不支持水平布局.我在某处读到了使用交叉表.但是,当我尝试将子报表插入度量单元格时,iReport会显示一条消息,表示我无法执行此操作.那我该怎么办?

jasper-reports

4
推荐指数
1
解决办法
7970
查看次数

从正则表达式结果中删除大括号

问题

这段代码:

select
  x::text
from
  regexp_matches( 'i1 into o2, and g1 into o17', '[gio][0-9]{1,}', 'g' ) as x;
Run Code Online (Sandbox Code Playgroud)

返回这些结果:

{i1}
{o2}
{g1}
{o17}
Run Code Online (Sandbox Code Playgroud)

而不是以下结果:

i1
o2
g1
o17
Run Code Online (Sandbox Code Playgroud)

相关链接

使用PostgreSQL 9.x删除大括号的最有效方法是什么?

regex arrays postgresql plpgsql set-returning-functions

4
推荐指数
1
解决办法
1252
查看次数

使用Expression的Spring Web Flow ExternalRedirect

背景

用户必须向服务器提交报告参数.服务器将用户重定向到URL.该URL运行Oracle Reports以生成PDF(或网页).

系统使用相对较慢的身份验证机制.但我不打算重新启动Web流,因此身份验证不应该干扰重定向.

JSP

"运行报告"按钮编码如下:

<button type="submit" id="run" name="_eventId_run">
    <fmt:message key="form.button.report.run" />
</button>
Run Code Online (Sandbox Code Playgroud)

页面的其余部分将参数绑定到DAO中的映射,例如:

<form:radiobutton path="parameters['service']" class="service" value="..." />
Run Code Online (Sandbox Code Playgroud)

提交表单显示绑定变量在DAO映射中正确设置.此外,报告能够生成用于重定向的URL.

表单本身类似于:

<form:form modelAttribute="report" action="${flowExecutionUrl}"
    method="post">
    <fieldset>
        <%-- secret tokens --%>
        <tiles:insertAttribute name="hidden" />

        <%-- includes the requested report form parameters --%>
        <jsp:include page="${reportKey}.jsp" />

        <%-- includes the aforementioned submit button %-->
        <tiles:insertAttribute name="reportButtons" />
    </fieldset>
</form:form>
Run Code Online (Sandbox Code Playgroud)

该流有三种视图状态:列表报告,输入参数和运行报告.最后两个是相关的:

<view-state id="parameters" model="report" view="flow/reports/parameters">
    <transition on="run" to="redirect">
        <evaluate expression="reportService.run(report)" result="flowScope.url" />
    </transition>
</view-state>

<view-state id="redirect" view="externalRedirect:#{flowScope.url}"/>
Run Code Online (Sandbox Code Playgroud)

reportService.run(report)正在调用该方法.报告参数受到约束.返回的结果确实是正确的URL.

Java的 …

java redirect spring jsp spring-webflow

4
推荐指数
1
解决办法
8034
查看次数