小编Ski*_*tol的帖子

如何在500,000+行表中不使用截断表时有效删除行

假设我们有30个列和500,000行的表Sales.我想删除表中的400,000(那些"toDelete='1'").

但我有一些限制:

  • 该表是"经常"读/写的,我不想长时间"删除"需要很长时间并将表锁定太长时间
  • 我需要跳过事务日志(比如a TRUNCATE)但是在做一个"DELETE ... WHERE..."(我需要设置条件)时,却没有找到任何方法来做这个...

任何建议都欢迎改变一个

DELETE FROM Sales WHERE toDelete='1'
Run Code Online (Sandbox Code Playgroud)

更多分区和可能的事务日志免费.

sql t-sql truncate sql-server-2008 sql-delete

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

SQL Server列名称区分大小写

我使用的DB具有French_CI_AS排序规则(CI应代表Case-Insensitive),但无论如何都是区分大小写的.我想知道为什么.

我断言这一点的原因是具有'GIVEN'案例设置的批量插入失败,但是他们成功地使用另一个'Given'案例设置.

例如:

  • INSERT INTO SomeTable([GIVEN],[COLNAME]) VALUES ("value1", "value2") 失败了,但是
  • INSERT INTO SomeTable([Given],[ColName]) VALUES ("value1", "value2") 作品.

编辑 刚看到这个:

http://msdn.microsoft.com/en-us/library/ms190920.aspx

这意味着应该可以更改列的排序规则而不清空所有数据并重新创建相关表格?

sql-server collation case-sensitive case-insensitive sqlbulkcopy

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

编程范式的图形分类

我正在寻找一个完整而可靠的图表,其中包含"所有"编程范例(OOP,AOP以及并行,命令,功能,声明等等).

编辑: 已经-2和3关闭请求,没有任何理由.

如果您对该问题不感兴趣并且没有理由对其进行投票,请跳过它.或者提供一个理由.点击箭头很容易.表达自己似乎更难.

编辑2:

此处输入链接描述,您可以在右侧看到"编程范例",其中包含以下数据:

Action
Agent-oriented
Aspect-oriented
Automata-based
Component-based
Flow-based
Pipelined
Concatenative
Concurrent computing
Relativistic programming
Data-driven
Declarative (contrast: Imperative)
Constraint
Dataflow
Cell-oriented (spreadsheets)
Reactive
Intensional
Functional
Logic
Abductive logic
Answer set
Constraint logic
Functional logic
Inductive logic
End-user programming
Event-driven
Service-oriented
Time-driven
Expression-oriented
Feature-oriented
Function-level (contrast: Value-level)
Generic
Imperative (contrast: Declarative)
Procedural
Language-oriented
Discipline-specific
Domain-specific
Grammar-oriented
Dialecting
Intentional
Metaprogramming
Automatic
Reflective
Attribute-oriented
Template
Policy-based
Non-structured (contrast: Structured)
Array
Nondeterministic
Parallel computing
Process-oriented
Programming in the …
Run Code Online (Sandbox Code Playgroud)

programming-languages taxonomy

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

如何使用后期绑定从VB.Net调用位于C#DLL内的方法

我无法控制各种"Init","Accumulate"......方法如何工作,以便从VB.Net代码中调用位于DLL中的方法.

假设要调用的方法具有以下签名:

public double ComputeMeanPosition(ref SortedList<DateTime, double> posByTime)
Run Code Online (Sandbox Code Playgroud)

请您指出使用这些方法的实际示例,或者只是给我一些提示,如何将参数实际传递给方法,调用它并获取结果?

@Olivier Jacot-Descombes:我确实用名称空间名称为类名添加前缀,但却无法访问该对象.事实上,我很惊讶您的善意建议不涉及以下方法,通过内加加载的DLL显示:

Type: MyClassName
        Method: Void Init()
        Method: Void Accumulate(System.Data.SqlTypes.SqlDouble, System.Data.SqlTypes.SqlDateTime, System.Data.SqlTypes.SqlBoolean)
        Method: Void Merge(MyClassName)
        Method: System.Data.SqlTypes.SqlDouble Terminate()
        Method: Void Write(System.IO.BinaryWriter)
        Method: Void Read(System.IO.BinaryReader)
        Method: Boolean Equals(System.Object)
        Method: Int32 GetHashCode()
        Method: System.String ToString()
        Method: System.Type GetType()
Run Code Online (Sandbox Code Playgroud)

编辑

实际上我有一个类似于下面的代码,它成功地设法检查DLL并从中获取了几种类型和方法,给出了我想要调用的方法的上述结果.

这是代码

        For Each oneModule As Reflection.Module In useAssembly.GetLoadedModules()
            Console.WriteLine("   - " & oneModule.Name)
            For Each oneType As System.Type In oneModule.GetTypes()
                Console.WriteLine("     Type: " & oneType.Name)
                For Each oneField As Reflection.FieldInfo In oneType.GetFields()
                    Console.WriteLine(" …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net late-binding

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