考虑一个带有7列的索引MySQL表,不断查询和写入.在通过将数据拆分到其他表中来提高性能之前,应该允许此表包含哪些可行行数?
在我从SQL脚本插入140万行数据的永恒 传奇中,我编写了一个基本的WinForms应用程序,它接受脚本的每一行并单独执行.
但是,因为包含原始脚本
SET IDENTITY_INSERT [Table] OFF
Run Code Online (Sandbox Code Playgroud)
和SET是一个会话范围的命令,这个设置在每次SQL调用时都会丢失,这意味着每一行都失败了.有没有办法在整个数据库范围内为整个表设置IDENTITY_INSERT,这样我可以在没有它们的情况下进行这些单独调用失败?或许我可以通过在每一行附加一个命令来告诉它忽略身份规范?
假设我有以下类层次结构:TaskViewer继承自的ListViewer<Task>继承自ViewerBase.
如果我调试到声明的方法ViewerBase并查看this.GetType(),它会正确返回TaskViewer.但是,我找不到一个属性或方法,它将返回继承中使用的泛型参数,即Task.显然,如果我是在上下文中TaskViewer,ListViewer<T>那么我会很容易地知道这一点.
我可以看到它是Task通过查看BaseType.FullName属性,但我已经通过列表,我没有看到任何东西标识自己使用该泛型参数.
我如何从根类中的此方法中获取原始泛型参数?
给定字符串"string[]"并要求获取此类的基础类型,可以从以下开始:
private Type getTypeByName(string typeName)
{
if (typeName.EndsWith("[]"))
{
return something; // But what?
}
return Type.GetType(typeName);
}
Run Code Online (Sandbox Code Playgroud)
什么类型的"字符串[]"以及如何反映出它的类型?
显然有一种System.String类型和一种System.Array类型,但我看不出它们如何像你通常所做的那样"一起"反映出来,Nullable<T>并且用MakeGenericType方法来反映它们.
任何帮助打破我已经融入的思维循环都将非常感激!
c# ×2
reflection ×2
.net ×1
arrays ×1
generics ×1
identity ×1
inheritance ×1
mysql ×1
optimization ×1
performance ×1
sql-server ×1