假设您有一个“简单”枚举:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
然后你在某个地方使用它:
Day day = Day.SUNDAY;
...
if(day==Day.SUNDAY) {...}
这是如何将性能方面(内存和时间)与使用int进行比较的?
int day = Day.SUNDAY;
...
public class Day {
public static final int SUNDAY=0;
public static
假设我们在MS SQL Server 2008上有一个数据库,在我们的分布式系统的核心有20-30个表。对于系统的每一层,读写这些表的权限可能会有所不同。例如,我们有三种类型的客户端,它们可以直接或通过某个中间层连接到我们的数据库。为了消除错误操作的可能性,我们必须为每种类型的客户端正确设置权限。显而易见的解决方案是将我们的表分到不同的SQL Server架构中,并将访问架构中的对象的权限设置为一个整体。现在我们必须决定这个解决方案在相对较少的表上的合理性,以及它对性能的影响(看起来我们经常必须连接来自不同模式的表)。
最近,一位同事向我描述了一个重新设计数据库的计划。新数据库将符合一个简单的:父表将由一个键和一些上下文信息组成,该键将作为其他表中的外键字段。外键字段可以在同一子表中多次出现。
伪码:
TABLE Parent
INT key PRIMARY_KEY
INT foo
...
TABLE Child1
INT key FOREIGN_KEY REFERENCES Parent.key
BLOB bar
...
TABLE Child2
INT key FOREIGN_KEY REFERENCES Parent.key
VARCHAR tar
我一直在使用Linq to SQL来对抗Sql Server CE。
数据库是只读的,所以我可以有几个假设。
为了避免访问文件系统,我最初的方法是将所需的实体缓存到应用程序内存中,并针对它们使用linq to对象。
虽然Linq to SQL适用于有限的查询,但在需要连接的地方,直接使用Linq to SQL要优于Linq to Objects。
回到起点,我想优化我的性能,我现在的想法是强制将整个文件加载到RAM,并针对它使用Linq to SQL。
有什么想法是怎么做到的吗?还有更多的想法吗?
Ariel
我想知道在类构造函数中使用私有字段是否有显著的性能(或正确性)差异,而不是改变那些私有字段的属性。
示例:
class Pt<T>
{
public Pt(T _x, T _y) // More efficient/correct?
{
this.x = _x; // or x = _x
this.y = _y; // or y = _y
}
public Pt(T _x, T _y) // Less efficient/correct?
{
X = _x;