我正在编写一些代码来查找数据库中重复的客户详细信息.我将使用Levenshtein距离.
但是,我不确定如何存储关系.我一直在使用数据库,但从未遇到过这种情况,并想知道是否有人可以指出我正确的方向.
令我困惑的是如何存储关系的双向性质.
我已经开始在下面提供一些示例,但想知道是否存在存储此类数据的最佳实践,
示例数据
id,地址
001,5 Main Street
002,5 Main St.
003,5 Main Str
004,6 High Street
005,7 Low Street
006,7 Low St
建议1
customer_id1,customer_id2,relationship_strength
001,002 0.74
001,003,0.77
002,003,0.76
005,006,0.77
对这种方法不满意,因为它推断出customer_id1与customer_id2之间的单向关系.当然,除非我双向包含所有关系,但这会使处理时间和表的大小加倍.
例如,需要包括:002,001,0.74
建议2
CUSTOMER_ID,GROUPING_ID
001,1
002,1
003,1
005,2
006,2
我在SQL中有一个存储过程,我无法更改.它需要很少的输入参数,并返回一个包含100多行和多列的表.
exec dbo.Select_Data 0, 0, 18, 50
Run Code Online (Sandbox Code Playgroud)
我需要一些东西来计算返回的行:
select count(*) from (exec dbo.Select_Data 0, 0, 18, 50)
Run Code Online (Sandbox Code Playgroud)
以及从名称列中获取值的方法:
select Id, Name from (exec dbo.Select_Data 0, 0, 18, 50) where Id=10
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
如何在不轮询浏览器/使用setTimout的情况下检测java-applet是否已成功加载?
有什么事情可以绑定吗?
问题是:有一个弹出,询问他是否信任该applet或没有用户,直到用户点击"是",同时我的代码不能执行,因为小程序尚未加载的是需要几秒钟.
出于某种原因,我今天早上开始了VS 2008,并且在输入时我不会显示任何提示.例如,如果我有一个对象并写了myObject.我希望显示一个属性列表.这应该是其他事情的情况,如打字方法,但它们也不起作用.
我想知道是否有一个我偶然改变的设置.
我正在使用WinXP和VS 2008 Pro.
先感谢您.
编辑
搜索智能感知后,我看着在选项>商业智能设计和得到这个消息,同时加载该属性页时发生错误.
有任何想法吗.
重新编辑我以为我会尝试重新安装VS但是Window Add/Remove或DVD磁盘都不会卸载它.弹出错误,说程序遇到错误,取消设置.
我知道在Python中检查类型很糟糕,你应该永远不会这样做.但我似乎无法找到这个的缺点.
class O(object):
def __init__(self, name):
'''Can only be called in derived classes.'''
if type(self) is O:
message = "%(class)s cannot be instantiated, it must be derived."
raise TypeError, message % { "class" : O }
self.name = name
def fn(self):
'''Must be populated in derived classes.'''
raise NotImplementedError
Run Code Online (Sandbox Code Playgroud)
现在,如果有人试图实例化O,我从未打算实例化一个类,他们立即知道.
这还是不好的形式吗?
我的两个问题是:
详细说来,我有一个包含公司数据的几个非常大(在100-1000万行之间)的数据库.通常,在这样的表中存在大约20-40个公司的数据,每个公司都是由"CompanyIdentifier"(INT)标记的他们自己的"块".此外,每家公司都有大约20个部门,每个部门都有自己的"子块",标有"DepartmentIdentifier"(INT).
经常会发生从表中添加或删除整个"块"或"子块".我的第一个想法是在这些块上使用表分区,但由于我使用的是SQL Server 2008标准版,因此我无权使用它.尽管如此,我所拥有的大多数查询都是在"块"或"子块"上执行而不是在整个表格上执行.
我一直在努力为以下功能优化这些表:
对于1)和2)我没有遇到很多问题.我在关键字段上创建了几个索引(也包含有用的CompanyIdentifier和DepartmentIdentifier),查询运行正常.
但对于3)我一直在努力寻找一个好的解决方案.我的第一个策略是始终禁用索引,批量插入大块并重建索引.这在开始时非常快,但现在数据库中有很多公司,每次重建索引需要很长时间.
目前我的策略已经改为只是在插入时保持索引,因为现在这似乎更快.但我想进一步优化插入速度.
我似乎注意到通过添加在CompanyIdentifier + DepartmentIdentifier上定义的聚簇索引,将新的"块"加载到表中的速度更快.在我放弃这个策略以支持在IDENTITY列上添加聚簇索引之前,有几篇文章向我指出聚簇索引包含在所有其他索引中,因此聚簇索引应该尽可能小.但现在我正在考虑恢复这个旧策略来加速插入.我的问题,这是明智的,还是会在其他领域遇到性能打击?这真的会加速我的插入还是仅仅是我的想象力?
我也不确定在我的情况下是否确实需要IDENTITY列.我希望能够与其他表建立外键关系,但我是否也可以使用类似于CompanyIdentifier + DepartmentIdentifier + [uniquifier]方案的东西?或者它必须是一个表格,分散的IDENTITY数字?
非常感谢任何建议或解释.
database sql-server identity-column clustered-index sql-server-2008
System.Drawing.Point和之间有什么区别System.Drawing.PointF.你能举两个这样的例子吗?
提前致谢.
我用这段代码动画我的窗口:
winLogin login = new winLogin();
login.Owner = this;
login.Show();
DoubleAnimation da = new DoubleAnimation();
da.From = 0;
da.To = this.Left + ((this.Width - login.Width) / 2);
da.AutoReverse = false;
da.Duration = new Duration(TimeSpan.FromSeconds(0.1));
login.BeginAnimation(Window.LeftProperty, da);
Run Code Online (Sandbox Code Playgroud)
问题是,无论何时我设置Left此窗口的属性(在动画之后),它都会变得疯狂.
我使用此代码将子窗口始终放在中心,但Left我使用动画的窗口的属性无法正确更改.
private void Window_LocationChanged(object sender, EventArgs e)
{
foreach (Window win in this.OwnedWindows)
{
win.Top = this.Top + ((this.Height - win.Height) / 2);
win.Left = this.Left + ((this.Width - win.Width) / 2);
}
}
Run Code Online (Sandbox Code Playgroud) 此问题非常常见:对象应在发生某些事件时通知其所有订户.在C++中我们可以使用boost::signals或其他东西.但是如何用Go语言做到这一点?很高兴看到一些工作代码示例,其中有几个对象订阅了发布者并处理了通知.
谢谢
是的,作为标题,我不知道如何在linux的内核模式下编程和编译"Hello World"代码,请以最简单易懂的方式帮助我.谢谢 !(也欢迎任何相关文件,我只是新手)
database ×2
sql-server ×2
animation ×1
applet ×1
c# ×1
c++ ×1
count ×1
go ×1
intellisense ×1
javascript ×1
linux-kernel ×1
load ×1
python ×1
return ×1
typechecking ×1
winforms ×1
wpf ×1