所以我在查询一些非常大的表格.它们如此之大的原因是因为PeopleSoft每次对某些数据进行更改时都会插入新记录,而不是更新现有记录.实际上,它的事务表也是一个数据仓库.
这需要在其中嵌套选择的查询,以获取最新/当前行.它们都是有效的,并且在每个日期内(施放到一天)它们可以具有有效的序列.因此,为了获得当前记录user_id=123,我必须这样做:
select * from sometable st
where st.user_id = 123
and st.effective_date = (select max(sti.effective_date)
from sometable sti where sti.user_id = st.user_id)
and st.effective_sequence = (select max(sti.effective_sequence)
from sometable sti where sti.user_id = st.user_id
and sti.effective_date = st.effective_date)
Run Code Online (Sandbox Code Playgroud)
这些表上有非常多的索引,我找不到任何能加速查询的东西.
我的麻烦在于我经常想要从这些表中获取有关个人的数据,可能有50个user_ids,但是当我加入我的表中只有少数几个这样的PeopleSoft表的记录时,事情就变成了废话.
PeopleSoft表位于我通过数据库链接访问的远程数据库中.我的查询看起来像这样:
select st.* from local_table lt, sometable@remotedb st
where lt.user_id in ('123', '456', '789')
and lt.user_id = st.user_id
and st.effective_date = (select max(sti.effective_date)
from sometable@remotedb sti where sti.user_id = st.user_id)
and st.effective_sequence = (select max(sti.effective_sequence)
from sometable@remotedb …Run Code Online (Sandbox Code Playgroud) 我一直在我的应用程序层(模型)和我的数据库层(引发错误的存储过程)中实施业务规则.
由于以下几个原因,我一直在复制我在两个地方的验证:
什么是正确的平衡?
database stored-procedures business-rules n-tier-architecture
我的样式表定义是否应该镜像DOM层次结构?如果我有:
<div id="container">
<div class="item">
<div class="property">
<span id="1243"></span>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
当我想为每个房产设置样式时,我应该说:
.property { color: red; }
Run Code Online (Sandbox Code Playgroud)
或者我应该这样做
#container .item .property { color: red;}
Run Code Online (Sandbox Code Playgroud)
我用过这两个.我喜欢第一个简洁,因为如果层次结构改变我不需要更新它,但第二个帮助我阅读CSS.
Backbone 0.9.0更新日志说:
视图的事件哈希现在还可以包含直接函数值以及现有视图方法的字符串名称.
当我尝试以下操作时失败,说该事件的值是undefined.
var BB = Backbone.View.extend({
'initialize': function() {
this.$el.html('<input type="button" value="Click me!" />');
jQuery('body').html(this.el);
},
'events': {
'click input[type="button"]': this.buttonClicked
},
'buttonClicked': function() {
alert('button clicked!');
}
});
window.b = new BB()
Run Code Online (Sandbox Code Playgroud)
我误解了这个新功能吗?有人可以解释它的工作方式与我的预期不同吗?也许这只是我在定义时的'this'的JavaScript语法/值.
我习惯做的方式仍然有效:
'events': {
'click input[type="button"]': 'buttonClicked'
},
Run Code Online (Sandbox Code Playgroud) 出于习惯,我一直在我的应用程序代码中使用try/catch块来处理所有SQL查询,并在catch块的开头进行回滚.我也一直在承诺那些成功的.这是必要SELECT的吗?它是否释放了数据库方面的东西?select语句不会改变任何数据,所以它似乎有点无意义,但也许有一些我不知道的原因.
例如
try {
$results = oci_execute($statement)
oci_commit($connection);
return $results;
}
catch {
oci_rollback($connection)
throw new SqlException("failed");
}
Run Code Online (Sandbox Code Playgroud) 我通过DB Link远程访问几个表.它们非常标准化,每个数据都有效.在每个表中的数百万条记录中,只有约50k的子集是当前记录.
这些表由商业产品进行内部管理,如果我以任何方式添加索引或对其表进行更改,这将非常适合.
加快访问这些表的选项有哪些?
我知道Javascript没有多个线程,但我想知道以下代码是否有任何破解的机会.我的理解是,除非调用异步函数,例如setTimeoutAJAX调用,否则一旦代码块开始执行,它就无法暂停直到它完成或调用异步函数.
基本上,用户选择多个复选框,然后点击一个按钮,执行其选择的AJAX处理.我的目标是拥有一个"Saving ..."图标,该图标仅在所有AJAX流程完成之前保持不变,并且在完成所有AJAX流程之后显示成功消息.
除非任何AJAX错误,只要整个jQuery.post执行中的回调函数不中断,我就不会看到if(numProcessed == toProcess)它将如何执行超过一次或少于一次.但是如果两个AJAX回调进入回调函数,两者都会在numProcessed得到以下内容之前递增计数器if,那么看起来内部的代码将被执行两次.
var numProcessed = 0;
var checkedBoxes = jQuery("input[type=checkbox]:checked");
var toProcess = checkedBoxes.size();
checkedBoxes.each(function() {
jQuery.post('somepage.php',{...},function(results) {
numProcessed++;
if(numProcessed == toProcess) {
jQuery("#saving-message").remove();
jQuery("#feedback-panel").text('Successfully processed all selections.');
}
}
}
Run Code Online (Sandbox Code Playgroud) 我知道我可以使用这里描述的内容:我怎么知道通过jQuery选择了哪个单选按钮?
即jQuery("input[name=myradiogroup]:checked").val()获取所选的单选按钮值.但我想缓存无线电组并确定在以后的某个时间点选择了哪个值.
我想做的事情如下:
var myRadio = jQuery("input[name=myradiogroup]");
//some code
var value = myRadio.getCheckedButton().val();
Run Code Online (Sandbox Code Playgroud)
有什么方法可以做到这一点,或者我:checked每次想要找出所选值时都必须在其中显式运行选择器吗?
我想知道有效的PHP资源是否有可能ID为0.我正在获取数据库连接资源,到目前为止它们都是非零正整数.只是好奇资源的潜在ID范围.
我的Mustache模板中存在名称冲突的问题(使用Mustache.js).这个例子说明了这两个问题:
我传递了这些数据:
{'recs': {'code': 'foo', 'id': 1
'childRecs': [{'id': 2},
{'code': 'bar', 'id': 3}]
}
}
Run Code Online (Sandbox Code Playgroud)
进入这个模板:
{{#recs}}
Record ID: {{id}}
{{#childRecs}}
This child code is: [{{code}}] and its parent ID is: {{id}}
{{/childRecs}}
{{/recs}}
Run Code Online (Sandbox Code Playgroud)
预期:
Record ID: 1
This child code is: [] and its parent ID is 1
This child code is: [bar] and its parent ID is 1
Run Code Online (Sandbox Code Playgroud)
实际:
Record ID: 1
This child code is [foo] and its parent ID is 2
This child code is …Run Code Online (Sandbox Code Playgroud) javascript ×4
oracle ×3
sql ×3
jquery ×2
php ×2
backbone.js ×1
css ×1
database ×1
mustache ×1
peoplesoft ×1
radio-button ×1
resources ×1
rollback ×1
stylesheet ×1
transactions ×1