问题列表 - 第43855页

如何正确索引多个关联表?

在像这样的典型的许多安排......

Movies       Actors       Movies_Actors
------       ------       -------------
movie_ID     actor_ID     FK_movie_ID
title        name         FK_actor_ID

...如何将关联表('Movies_Actors')索引以获得最佳读取速度?

我通常只在关联表中使用复合主键来完成此操作,如下所示:

CREATE TABLE Movies_Actors (
  FK_movie_ID INTEGER,
  FK_actor_ID INTEGER,
  PRIMARY KEY (FK_movie_ID, FK_actor_ID)
)
Run Code Online (Sandbox Code Playgroud)

然而,这似乎是指数搜索时才有用处 movie_IDactor_ID(虽然我不是一个综合指数是否也适用于各个列确定).

由于两个"什么演员在电影X"和"有演员Ÿ一直处于什么样的电影"将是此表的通用查询,似乎应该对每一列单独的索引快速找到自己的角色和电影.复合索引是否有效地做到了这一点?如果没有,那么在这张桌子上使用复合索引似乎毫无意义.如果复合索引毫无意义,那么如何处理主键呢?候选键显然是两列的组合,但是如果得到的复合索引是无意义的(它一定不是?),这似乎是浪费.

此外,这个环节增加了一些困惑,并表示,它甚至可能是真正有用的指定2个综合指数...他们为一体(FK_movie_ID, FK_actor_ID),另一个反向的(FK_actor_ID, FK_movie_ID),与选择哪种是主键(因而通常聚集并且'只是'一个独特的复合索引,基于更多的查询方向.

什么是真实的故事?复合索引是否自动有效地索引每列以便在一个或另一个上进行搜索?应的最佳(在读出速度,而不是尺寸)关联表具有在每个方向上的复合指数每列一个?什么是幕后机制?


编辑:我发现这个相关的问题,由于某种原因,我没有在发布之前找到... 如何正确索引MySQL中的多对多连接的链接表?

sql sql-server postgresql many-to-many query-optimization

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

关于HTML源代码中的空格和换行符

有时,浏览器会忽略两个HTML标记之间的空格和换行符,有时则不会.

我觉得两个线框之间的空格和换行显示,两个方块框没有显示.但是一个线盒和一个块盒怎么样?

我想要规则或规格,你能告诉我吗?

html javascript css

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

如何将文件保存到类路径

如何保存/加载位于我的课程所在的文件?我之前没有到该位置的物理路径,我想动态地找到该文件.

谢谢

编辑:

我想加载一个XML文件并写入和读取它,我不知道如何解决它.

java file-io classpath

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

在构建中强制执行项目的所有文件中的编码标准

我知道在Stackoverflow中有一些类似的问题,但它们要么是.Net相关的,要么没有任何帮助我们的答案.

案例如下:我和一些朋友正在开展一个开源项目.在为有希望成功的项目奠定基础的同时,出现了一个问题:如何执行项目的代码约定?

原因在于,作为一个开源项目,如果人们开始按照自己的意愿重新格式化代码,补丁将因为格式化而变得混乱,因为格式化将隐藏补丁的真正"价值".所以我们想要一些强迫用户遵守特定格式的东西,如果他们不这样做就会破坏构建.

该项目使用Struts 2 + Spring + Hibernate,使用Maven 2(考虑转移到Maven 3).我们知道我们可以使用"CheckStyle"来测试Java文件,但这会留下一些问题,希望有人可以回答:

  • 有一些工具可以检查XML和SQL文件的样式,如果他们不遵守规则就会破坏构建?
  • 有一些工具可以自动将源文件(Java,XML,SQL)重新格式化为所需的约定?可以以某种方式与Maven集成吗?

我们可以找到Jalopy for Java文件,但我们更喜欢免费工具(据我们所知,最新版本是付费的).我们仍然找不到任何SQL/XML.

更新:只是说清楚:我不是在询问PMD,Checkstyle或这些工具.我要求的工具是:

  • 自动将SQL,XML和/或Java文件格式化为所需的编码约定(4个空格等)
  • 检测具有错误格式的SQL和XML文件并因此破坏构建.

java xml sql struts2 maven

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

流利的NHibernate - 加入了子类ForeignKey Name

我正在考虑转向Fluent NHibernate - 到目前为止我遇到的唯一问题是你不能在连接的子类映射上指定外键名称.

有没有人为此获得解决方案或解决方法?

我找到了这篇文章,但明确的建议没有添加到代码中.

我想尽可能避免自己定制代码.

任何帮助都会很棒......

例:

public class Product
{
    public string Name { get; set; }
}

public class Hammer : Product
{
    public string Description { get; set; }
}

public class ProductMap : ClassMap<Product, long>
{
    public ProductMap()
    {
        Polymorphism.Implicit();
        Map(x => x.Name);
    }
}

public class HammerMap : SubclassMap<Hammer>
{
    public HammerMap()
    {
        Extends<Product>();
    }
}
Run Code Online (Sandbox Code Playgroud)

这会产生类似于:

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-access="field.camelcase-underscore" auto-import="false" default-cascade="none" default-lazy="true">
  <class xmlns="urn:nhibernate-mapping-2.2" dynamic-insert="true" dynamic-update="true" mutable="true" polymorphism="implicit" optimistic-lock="version" name="Domain.Product, …
Run Code Online (Sandbox Code Playgroud)

nhibernate fluent foreign-keys subclass

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

PHP上传失败(空$ _FILES)

我在PHP中遇到一个常见问题:当文件太大时,我的$ _FILES数组为空.

php.ini:

max_execution_time = 300000
max_input_time = 600000000
memory_limit = 5100MB
post_max_size = 5000MB
upload_max_filesize = 5000MB
Run Code Online (Sandbox Code Playgroud)

文件 :

Trouve.tar : 910Mo
Run Code Online (Sandbox Code Playgroud)

配置值很大,但我想确保脚本有时间和内存来进行上传.

所以,授权大小比文件大小大,但我有其他人的错误(例如上传带有php文件上传图像的问题)

我错过了一些配置设置吗?

php arrays upload

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

帮助将颜色十六进制存储为Java中的整数

我需要#F0FFF0在android应用程序中表示十六进制颜色(存储为整数).我将其存储为:

int color = 0xF0FFF0;
Run Code Online (Sandbox Code Playgroud)

但是在渲染时颜色似乎很明显(事实上,它是黑色的).我是否错误地存储了颜色?

java android hex

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

构造表达式树会导致InvalidPathException

我正在构建一个表达式树(Expression<Func<PlainAddress, bool>> predicate)以将其传递给IQueryable.WhereHNibernate 的函数来执行查询.当我通过时:

 predicate = y => y.Address.City == geoObject.Name;
Run Code Online (Sandbox Code Playgroud)

一切正常.当我通过时:

var x = Expression.Parameter(typeof(PlainAddress));

Expression<Func<PlainAddress, string>> expression = y => y.Address.City;

predicate = Expression.Lambda<Func<PlainAddress, bool>>(
    Expression.Equal(
        Expression.Invoke(expression, x), 
        Expression.Constant(geoObject.Name)), 
        x);
Run Code Online (Sandbox Code Playgroud)

我得到以下异常

Invalid path: 'y.Address.City' 
[.Where(NHibernate.Linq.NhQueryable`1[BPPDicsManager.Domain.Entities.PlainAddress], 
Quote((60ee8287-3f42-426a-8c15-41f62f58623c, ) => (String.op_Equality((y, ) => 
(y.Address.City)60ee8287-3f42-426a-8c15-41f62f58623c, p1))), )]
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?这两个选项有什么区别?

.net c# expression-trees

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

fopen - 不能写超过16K?

我目前正在使用fopen来编写/读取二进制文件.小文件都是罚款.但在某些情况下,当"确切"内容> 16K时,文件的其余部分无效!

代码很简单,fopen ... fread/fwrite ... fflush ... fclose!

我尝试过使用C++.但是现在我在"阅读"期间遇到了问题

在BinaryDefaultRead中它返回-1 !!! 但真的不知道为什么!我一次只写4个字节!

它使用MSVC 2008编译器在Win7 64位下.

#include <fstream>

using namespace std;

size_t BinaryDefaultRead(ifstream& stream, void* buffer, unsigned int bufferSize)
{
    //return fread(buffer, 1, (size_t) bufferSize, file);
    stream.read((char*)buffer, bufferSize);
    if (!stream)
        return -1;

    return bufferSize;
}

size_t BinaryDefaultWrite(ofstream& stream, const void* buffer, unsigned int bufferSize)
{
    //return fwrite(buffer, 1, (size_t) bufferSize, file);
    stream.write((char*)buffer, bufferSize);
    if (!stream)
        return -1;

    return bufferSize;
}

// Read an unsigned integer from a stream in a …
Run Code Online (Sandbox Code Playgroud)

c++ fopen limit

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

分析FxCop /代码分析警告CA1506:avoidExcessiveClassCoupling

我正在为C#类获取Visual Studio代码分析警告CA1506.它说,''FormMain'与来自25个不同命名空间的93种不同(非IComponent)类型相结合.重写或重构此类的方法以减少其类耦合,或考虑将某些类的方法移动到其他一些类型高于95的类耦合表明可维护性差,95到80之间的类耦合表明中等可维护性,低于80的类耦合表明良好的可维护性.

我的问题很简单,我在哪里可以看到FormMain所有类型的列表,所以我可以更好地了解情况?

谢谢.

c# code-analysis fxcop

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