我有两张桌子:
我希望将每个剧集的表1的代码复制到表2.目前执行此操作的代码如下:
UPDATE Table2
SET Table2.Code = (SELECT TOP 1 Code FROM Table1 WHERE Episode = Table2.Episode)
Run Code Online (Sandbox Code Playgroud)
这需要数小时和数小时.(我不确切知道多少小时,因为我在大约20小时的时候取消了它.)他们是大桌子,但肯定有更快的方法吗?
我有这段简单的代码写入套接字,然后从服务器读取响应.服务器速度非常快(每次响应5ms).但是,尽管写入套接字很快 - 读取套接字的响应总是慢得多.有线索吗?
module UriTester
module UriInfo
class << self
def send_receive(socket, xml)
# socket = TCPSocket.open("service.server.com","2316")
begin
start = Time.now
socket.print(xml) # Send request
puts "just printed the xml into socket #{Time.now - start}"
rescue Errno::ECONNRESET
puts "looks like there is an issue!!!"
socket = TCPSocket.open("service.server.com","2316")
socket.print(xml) # Send request
end
response=""
while (line =socket.recv(1024))
response += line
break unless line.grep(/<\/bcap>/).empty?
end
puts "SEND_RECEIVE COMPLETED. IN #{Time.now - start}"
# socket.close
response
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
谢谢!
我想测试一个点是否在球体的特定距离内.
所以你有这些变量......
Point3F spherePnt;
F32 sphereRadius;
Point3F testPnt;
Run Code Online (Sandbox Code Playgroud)
我可以...
F32 dist = ( spherePnt - testPnt ).len() - sphereRadius;
Run Code Online (Sandbox Code Playgroud)
如果dist为正,则它在半径之外,如果dist为负,则它在半径内.
或者作为避免len()函数中的平方根的优化,您可以尝试这个...
F32 dist = ( spherePnt - testPnt ).lenSquared() - ( sphereRadius * sphereRadius );
Run Code Online (Sandbox Code Playgroud)
好吧,这看起来像乍看之下,但显然它实际上给了我不正确的结果.
例如,给定的变量就像这样设置......
SpherePnt( 0, 0, 0 )
SphereRadius( 1 )
testPnt( 1, 1, 1 )
Run Code Online (Sandbox Code Playgroud)
取结果......
F32 dist = ( spherePnt - testPnt ).len() - sphereRadius;
F32 dist2 = mSqrt( ( spherePnt - testPnt ).lenSquared() - ( sphereRadius * sphereRadius ) );
dist = 0.7320508075688772935274463415059; …Run Code Online (Sandbox Code Playgroud) 此查询选择特定日期范围内的所有唯一访问者会话:
select distinct(accessid) from accesslog where date > '2009-09-01'
Run Code Online (Sandbox Code Playgroud)
我有以下字段的索引:
这是解释的样子:
mysql> explain select distinct(accessid) from accesslog where date > '2009-09-01';
+----+-------------+-----------+-------+----------------------+------+---------+------+-------+------------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+-----------+-------+----------------------+------+---------+------+-------+------------------------------+
| 1 | SIMPLE | accesslog | range | date,dateurl,dateaff | date | 3 | NULL | 64623 | Using where; Using temporary |
+----+-------------+-----------+-------+----------------------+------+---------+------+-------+------------------------------+
mysql> explain select distinct(accessid) from accesslog;
+----+-------------+-----------+-------+---------------+----------+---------+------+---------+-------------+
| …Run Code Online (Sandbox Code Playgroud) 我该如何优化此代码?我制作了IPFilter,我需要优化它.
package com.ipfilter;
import java.util.HashMap;
import java.util.Map;
/**
* IPFilter
*
* Loads given IP addresses to memory, so you can easily check if ip addres has been blocked
*/
public class IPFilter {
private Map<Integer, IPFilter> filter = new HashMap<Integer, IPFilter>();
/**
* Convert String ip address to Integer array and then calls add ip method
* @param ip
* @return
*/
public void addIP(String ip)
{
int[] numbers = convert(ip);
addIP(numbers, 0);
}
/**
* Convert String ip …Run Code Online (Sandbox Code Playgroud) 我使用toad for Oracle来运行一个运行时间太长的查询,有时超过15分钟.
该查询正在提取备忘录,这些备忘录将由经理批准.查询没有带回很多行.通常,当它运行时,它将返回大约30或40行.查询需要访问几个表以获取其信息,因此我使用了很多连接来获取此信息.
我在下面附上了我的查询.如果有人可以帮助优化这个查询,我会非常非常好.
查询:
SELECT (e.error_Description || DECODE(t.trans_Comment, 'N', '', '','', ' - ' || t.trans_Comment)) AS Title,
t.Date_Time_Recorded AS Date_Recorded,
DECODE(t.user_ID,0,'System',(SELECT Full_Name FROM employee WHERE t.user_Id = user_id)) AS Recorded_by,
DECODE(t.user_ID,0, Dm_General.getCalendarShiftName(t.Date_Time_Recorded), (SELECT shift FROM employee WHERE t.user_Id = user_id)) AS Shift,
l.Lot_Number AS entity_number,
ms.Line_Num,
'L' AS Entity_Type,
t.entity_id, l.lot_Id AS Lot_Id
FROM DAT_TRANSACTION t
JOIN ADM_ERRORCODES e ON e.error_id = t.error_id
JOIN ADM_ACTIONS a ON a.action_id = t.action_id,
DAT_LOT l
INNER JOIN Status s ON …Run Code Online (Sandbox Code Playgroud) 我有数据表的成本问题.我需要用更聪明的代码替换代码.
我有一个数据表,样本值是这样的:
列:id,user_id,starttime,endtime
行样本:1,5,5.0.10.2009 08:00:00,05.10.2009 17:00
我的伪代码是
function something()
{
for(int i=0;i<datatable.Rows.Length;i++)
{
if(Someobject.variable.Equals(dt.Rows[i][user_id].ToString()))
{
if(Date.Compare(somevariable,dt.Rows[i][starttime].ToString())!=0)
{
//Do something
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
就是这样的.数据表有超过一千行,当asp.net页面加载时,函数必须调用近一千次.
所以我必须改变它.
我考虑过使用字典,但似乎只需要两个变量.你有什么建议我的.
编辑:
我还没解决问题.这是相关的代码.提前致谢.
protected void RadScheduler_Randevu_TimeSlotCreated(object sender,Telerik.Web.UI.TimeSlotCreatedEventArgs e){
for (int i = 0; i < calismaSaatleridt.Rows.Count; i++)
{
if (RadScheduler_Randevu.SelectedView.Equals(SchedulerViewType.DayView))
{
if (RadScheduler_Randevu.SelectedDate.ToShortDateString().Equals(Convert.ToDateTime(calismaSaatleridt.Rows[i]["calisma_baslangic"]).ToShortDateString()))
{
if (e.TimeSlot.Resource.Key.ToString().Equals(calismaSaatleridt.Rows[i]["hekim_id"].ToString()))
{
if (DateTime.Compare(e.TimeSlot.Start, Convert.ToDateTime(calismaSaatleridt.Rows[i]["calisma_baslangic"])) < 0 || DateTime.Compare(e.TimeSlot.End, Convert.ToDateTime(calismaSaatleridt.Rows[i]["calisma_bitis"])) > 0)
{
e.TimeSlot.CssClass = "Disabled";
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
这是返回结果集的函数.
private DataTable calismaSaatiGetir(string yonetici_id)
{
SqlConnection connection …Run Code Online (Sandbox Code Playgroud) 是否有一个简单的方法/库来检查和调整参数以保持在列表边界内?
这是一个很长的样本:
if (fromIndex < 0) {
fromIndex = 0;
}
if (fromIndex > list.size() - 1) {
fromIndex = list.size() - 1;
}
if (toIndex < 0) {
toIndex = 0;
}
if (toIndex > list.size() - 1) {
toIndex = list.size() - 1;
}
list.subList(fromIndex, toIndex);
Run Code Online (Sandbox Code Playgroud)
我知道我可以移动list.size() - 1到变量并对索引检查执行提取方法以删除冗余代码.但对于这个简单的任务,它似乎仍然有点冗长.
因此,在我的工作场所,他们有一个巨大的访问文件(与MS Access 2003和2007一起使用).文件大小约为1.2GB,因此打开文件需要一段时间.我们不能删除任何记录,我们有大约100多个表(每个月我们创建4个表,不要问!).如何改进这一点,即缩小文件大小?
例如
vector<string> a;
vector<string> b;
a.push_back("first");
b=a;
Run Code Online (Sandbox Code Playgroud)
是否会以某种方式进行优化
vector<string> b;
b.push_back("first");
Run Code Online (Sandbox Code Playgroud)