我有一个包含大约10个字段的表,可以为客户存储gps信息.随着时间的推移,我们已经增加了更多的客户,表已经增长到大约1400万行.随着gps数据进入服务,不断地在表中插入一行.90%的数据并不令人满意,即客户并不关心3个月前车辆的位置,但最新的数据用于生成跟踪报告.我的目标是编写一个sql来执行清除超过一个月的数据.
这是我的问题,我不能使用TRUNCATE TABLE,因为我会失去一切?昨天我用where子句写了一个删除表语句.当我在测试系统上运行它时,它锁定了我的表,并且模拟gps插入间歇性地失败.此外,我的事务日志在尝试记录每次删除时增长到超过6GB.
我的第一个想法是从最早的第一个开始一点一点地删除数据,但我想知道是否有更好的方法.
我在我的应用程序中使用Facebook Connect.我有它工作得很好,但在Safari Error控制台中,我看到这样的错误:
Unsafe JavaScript attempt to access frame with URL http://...#... from frame with URL http://www.connect.facebook.com/extern/login_status.phpapi_key=..&extern=2&channel=http...xd_receiver.htm.
Domains, protocols and ports must match.
Run Code Online (Sandbox Code Playgroud)
该应用程序似乎运行正常,但我们看到Safari的定期挂起和其他不良行为.当我运行其他Facebook Connect应用程序时,我有时也会看到此错误,所以我认为这不是我们实现的问题.忽略这个警告是否安全?
在oracle 10gr2上,我有几个sql查询我正在比较性能,但是在第一次运行之后,v $ sql表存储了用于缓存的执行计划,因此对于其中一个查询,我从第一次运行的28秒开始到.5秒后.
我试过了
ALTER SYSTEM FLUSH BUFFER_CACHE; - 运行此操作后,查询始终以5秒运行,我不相信这是准确的.
想到可能从缓存中删除行项本身:从v $ sql中删除其中sql_text就像'select*from ....但是得到一个关于无法从视图中删除的错误.
我有一个.jsp页面,我有一个显示Oracle数据库记录的GUI表.该表允许典型的分页行为,例如"FIRST","NEXT","PREVIOUS"和"LAST".记录是从执行SQL语句返回的Java ResultSet对象中获取的.
这个ResultSet可能非常大,所以我的问题是:
如果我有一个包含一百万条记录的ResultSet但我的表只显示ResultSet中前十条记录中的数据,那么只有当我开始请求记录数据时才会获取数据,或者一旦ResultSet将所有数据完全加载到内存中从执行SQL语句返回?
我有一个上下文菜单条带有8个项目和两个分隔符.当用户调出上下文菜单条时,然后按箭头键滚动项目,点击第八项使菜单"向上滚动",在底部留下空白区域.有没有办法阻止这种行为?
我在一个有点大的Web应用程序上工作,后端主要是在PHP中.代码中有几个地方我需要完成一些任务,但我不想让用户等待结果.例如,在创建新帐户时,我需要向他们发送欢迎电子邮件.但是当他们点击"完成注册"按钮时,我不想让他们等到实际发送电子邮件,我只想启动该过程,并立即向用户返回消息.
到目前为止,在某些地方,我一直在使用exec()感觉像是一个黑客.基本上做的事情如下:
exec("doTask.php $arg1 $arg2 $arg3 >/dev/null 2>&1 &");
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但我想知道是否有更好的方法.我正在考虑编写一个在MySQL表中排队任务的系统,以及一个单独的长时间运行的PHP脚本,每秒查询一次该表,并执行它找到的任何新任务.如果需要的话,这也有可能让我将来在几台工作机器之间拆分任务.
我是在重新发明轮子吗?有没有比exec()hack或MySQL队列更好的解决方案?
我有一个Customer类,它有一个List <string
> Roles属性.大部分的时间,我想访问该物业作为一个字符串列表,但有时我想看到它作为一个逗号分隔的列表.
我当然可以在一个新方法中做到这一点,如果我预计想要以不同的格式(逗号分隔,制表符分隔和&ct)获取变量的值,我肯定会这样做.但是,我正在考虑使用两个不同的属性来访问变量值,这有点像
public List<string> Roles
{
get { return this._Roles; }
set { this._Roles = value; }
}
Run Code Online (Sandbox Code Playgroud)
和
public string RolesToString
{
get { do some work here to comma-delimit the list; }
}
Run Code Online (Sandbox Code Playgroud)
基本上我想覆盖此特定列表的ToString()方法.是否有令人信服的理由做一个超过另一个?是否使用两个不同的属性来返回相同的变量值足够非标准以引起红旗?
我有一个文本文件,作为一个非常大的数据提取的一部分写入.文本文件的第一行是提取的"帐户"数.
由于此提取的性质,该数字直到过程的最后才知道,但文件可能很大(几百兆).
在C#/ .NET中打开文件(在本例中是一个简单的文本文件),并替换文本的第一个"行"中的数据的最佳方法是什么?
重要说明: - 我不需要替换"固定数量的字节" - 这很容易.这里的问题是需要插入文件顶部的数据是可变的.
重要说明2: - 有些人询问/提到只是将数据保存在内存中然后更换它......但这完全是不可能的.更新此过程的原因是因为有时它会在将几个演出加载到内存时崩溃.
我想转换long
为int
.
如果long
> 的值int.MaxValue
,我很乐意让它环绕.
什么是最好的方法?
c# ×4
sql ×2
.net ×1
asynchronous ×1
background ×1
database ×1
facebook ×1
file-io ×1
int ×1
java ×1
javascript ×1
jdbc ×1
long-integer ×1
oracle10g ×1
php ×1
properties ×1
queue ×1
replace ×1
safari ×1
task ×1
teamcity ×1
types ×1
warnings ×1