问题列表 - 第47406页

SQL Server 2008分区表和并行

我的公司正在迁移到SQL Server 2008 R2.我们有一张包含大量存档数据的表格.使用此表的大多数查询在where语句中使用DateTime值.例如:

查询1

SELECT COUNT(*) 
FROM TableA 
WHERE 
     CreatedDate > '1/5/2010' 
     and CreatedDate < '6/20/2010'  
Run Code Online (Sandbox Code Playgroud)

我假设分区是在CreatedDate上创建的,每个分区分布在多个驱动器上,我们有8个CPU,数据库中有5亿条记录,均匀分布在1/1/2008的日期到2011年2月24日(38个分区).这些数据也可以分为一年或其他持续时间,但让假设保持数月.

在这种情况下,我相信将使用8个CPU,并且在2010年1月5日和2010年6月20日之间的日期仅查询6个分区.

如果我运行以下查询并且我的假设与上面相同,那该怎么办呢?

查询2

SELECT COUNT(*) 
FROM TableA 
WHERE State = 'Colorado'
Run Code Online (Sandbox Code Playgroud)

有问题吗?
1.是否会查询所有分区?是
2.是否所有8个CPU都用于执行查询?是
3.性能是否优于查询未分区的表?是
4.还有什么我想念的吗?
5.分区索引如何帮助?

基于我对SQL Server 2008分区表和并行性的有限知识,我回答了上面的前三个问题.但如果我的答案不正确,你能否提供反馈,说明我的错误.

资源:

BarDev

sql sql-server performance sql-server-2008

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

从NHibernate配置部分配置Fluent NHibernate

我试图在我的解决方案中使用Fluent NHibernate,使用以下NHibernate xml配置部分进行配置

<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >
  <session-factory name="mitre">
    <property name="dialect">NHibernate.Dialect.Oracle9iDialect</property>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.OracleDataClientDriver</property>
    <property name="connection.connection_string">Data Source=YOUR_DB_SERVER;Database=Northwind;User ID=YOUR_USERNAME;Password=YOUR_PASSWORD;</property>
    <property name="connection.isolation">ReadCommitted</property>
    <property name="default_schema">TRATE</property>
    <!-- HBM Mapping Files -->
    <mapping assembly="Markel.Mint.Mitre.Data" />
  </session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)

在我的代码文件中,要实例化ISession:

NH_Cfg.Configuration cfg = new NH_Cfg.Configuration();
cfg.Configure();

Fluently.Configure(cfg).Mappings(m => m.FluentMappings = ????)
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我已经在NHibernate配置部分中指定了程序集,我是否需要显式设置FluentMappings?如果是这样,那么可以通过编程方式从NHibernate配置中检索这些数据吗?

谢谢奥兹

nhibernate fluent-nhibernate

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

EF Code First - 全局设置nvarchar上的varchar映射

我有一个简单的问题,但我自己无法找到答案.

我正在使用EF4 CTP-5 Code First Model和手工生成的POCO.它正在处理生成的SQL中的字符串比较

WHERE N'Value' = Object.Property
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用以下方法覆盖此功能:

[Column(TypeName = "varchar")]
public string Property {get;set;}
Run Code Online (Sandbox Code Playgroud)

这解决了该单个事件的问题并正确生成SQL为:

WHERE 'Value' = Object.Property
Run Code Online (Sandbox Code Playgroud)

但是,我正在处理一个非常大的域模型并遍历每个字符串字段并设置TypeName ="varchar"将非常非常繁琐.我想指定EF应该在整个板上看到字符串为varchar,因为这是该数据库中的标准,nvarchar是例外情况.

想要纠正这个问题的推理是查询执行效率.varchar和nvarchar之间的比较在SQL Server 2k5中非常低效,其中varchar到varchar比较几乎立即执行.

c# code-first entity-framework-4 ef-code-first

16
推荐指数
2
解决办法
9982
查看次数

在ConstraintViolationException之后,Hibernate会话无效

在抛出约束违规异常后,有没有办法继续使用线程绑定的hibernate会话?我在这里给出一个简短的例子:

    Parent other=service.load(33); // loads a new parent
    try {
        Parent p=new Parent();
        p.setName("A name");
        service.save(p); // a @Transactional spring service class, throws ConstraintViolationException - name should be at least 15 characters long
    } catch (ConstraintViolationException e){
        // i would like to handle validation errors and proceed normally
        // but the session is allready closed here
    }
    System.out.println("Children: " + other.getChildren()); // lazy initialization exception, even when using opensessioninview
Run Code Online (Sandbox Code Playgroud)

从现在开始,hibernate会话完全没用,即使对于只读操作,比如使用OpenSessionInView模式在视图中呈现延迟集合.

hibernate

9
推荐指数
2
解决办法
4397
查看次数

具有动作/函数参数的接口的Moq设置

我试图模拟对服务器的调用,并验证测试的代码调用正确的方法.代码结构如下:

public interface IServerAdapter
{
    void CallServer(Action<IServerExposingToClient> methodToCall, out bool serverCalled);
    object CallServer(Func<IServerExposingToClient, object> methodToCall, out bool serverCalled);
}

public interface IServerExposingToClient
{
    Resource GetResource(string id);
    void AddResource(Resource resource);
}
Run Code Online (Sandbox Code Playgroud)

我正在测试的代码访问服务器上的一个实现IServerAdapter并调用IServerExposingToClient方法.这样做的原因是我们不希望在类中实现每个方法(它们中有很多方法)IServerExposingToClient.由于这是在代理上调用的,因此它在我们的代码中运行良好.

在服务器上调用方法是这样的:

_mainViewModel.ServerAdapter.CallServer(m => m.AddResource(resource), out serverCalled);
Run Code Online (Sandbox Code Playgroud)

现在的问题是测试和嘲笑.我需要断言AddResource在服务器上调用了method().在out serverCalled(问题1),以确保这样的逻辑,因为它应该呼叫者流动电话做了它对服务器.

当我使用以下Moq设置时,我可以断言在服务器上调用了一些方法:

Mock<IServerAdapter> serverAdapterMock = new Mock<IServerAdapter>();
bool serverCalled;
bool someMethodCalled = false;
serverAdapterMock.Setup(c => c.CallServer(It.IsAny<Action<IServerExposingToClient>>(), out serverCalled)).Callback(() => someMethodCalled = true);
// assign serverAdapterMock.Object to some property my code …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq

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

编写PHP Web服务的框架

是否有一个特定的框架供PHP编写REST Web服务并将其公开给JSON?

或者你只是基本上编码...

我正在编写REST Web服务,主要是与MySQL中的数据库进行通信,身份验证等...

框架有什么优势?它更安全吗?

php web-services

8
推荐指数
1
解决办法
6941
查看次数

在运行iOS时,以编程方式动态更改语言

我已经堆叠和谷歌搜索了几个小时.我现在有点绝望了.我想在应用程序中更改应用程序的语言,而不仅仅是使用默认语言.

从我的尝试开始,我就像所有人一样重新启动.意思是,苹果强制您手动重启应用程序.这意味着您必须退出应用程序然后再次启动它.

好吧,谷歌搜索后,我试图设置一个警报,然后强迫应用程序退出

exit(0);
Run Code Online (Sandbox Code Playgroud)

我的坏,苹果似乎不喜欢这样,并阻止开发者使用它...我想我没有指向正确的方向.

最后,尽管存在所有问题,我还是可以见面,我想讨论一下.

任何提示?


编辑,APPLE的相关信息

通常,您不应在应用程序中更改iOS系统语言(通过使用AppleLanguages pref键).这违反了在Settings应用程序中切换语言的基本iOS用户模型,并且还使用了未记录的首选项键,这意味着在将来的某个时候,键名可能会更改,这会破坏您的应用程序.

如果要在应用程序中切换语言,可以通过手动加载捆绑包中的资源文件来实现.您可以使用NSBundle:pathForResource:ofType:inDirectory:forLocalization:为此目的,但请记住,您的应用程序将负责所有本地化数据的加载.

关于退出(0)问题,Apple DTS无法评论应用程序批准过程.您应该联系appreview@apple.com以获得此问题的答案.

好吧,到目前为止我必须选择.

iphone localization runtime ios

32
推荐指数
3
解决办法
4万
查看次数

以编程方式将UITableView行从一个位置移动到另一个位置

我有一个UITableView,我想以编程方式将一行从位置N1移动到位置N2,我希望它从旧位置动画到新位置.我查看了UITableView文档,我只看到插入,重新加载和删除.你知道我可以通过编程方式做到这一点吗?

几个笔记:

  • 我知道我可以从位置N1动画删除动画并同时将插入动画设置到位置N2.这是我的后备,但我希望用户明白它真的从N1转移到N2.

  • 我不是在谈论允许用户将它从一个地方拖到另一个地方.我知道如何做到这一点,我正在寻找一种方法来以编程方式启动和动画移动.

iphone uitableview ipad ios

6
推荐指数
1
解决办法
6381
查看次数

有没有办法与另一个流程的Clojure REPL流程进行对话?

我想知道我是否可以创建一个Vim插件,将表单发送到lein repl启动的REPL会话.有没有办法将消息发送到现有的jline.ConsoleRunner进程?

vim clojure jline read-eval-print-loop

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

获取虚拟机上的CPU ID

我正在尝试使用此代码:

public string GetCPUId()
{
    string cpuInfo = String.Empty;
    string temp = String.Empty;
    ManagementClass mc = new ManagementClass("Win32_Processor");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach (ManagementObject mo in moc)
    {
        if (cpuInfo == String.Empty)
        {
            cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
        }
    }
    return cpuInfo;
}
Run Code Online (Sandbox Code Playgroud)

要在XP虚拟机(虚拟机)上获得hw uid,但我只得到一个消息框,上面写着:

Object reference not set to an instance of an object.
Run Code Online (Sandbox Code Playgroud)

是因为它是虚拟机还是什么?

c# virtual-machine visual-studio-2010 hardware-id cpuid

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