我有一个潜在高达5.000.000行的表.此表中的一个列在查询中单独使用,但此列只有5个可能的值,目前我有10.000行,根据解释计划,在该列上使用我的索引是没有意义的.
它是否曾经或者不应该为索引而烦恼
编辑:这是目前的两个解释计划 没有索引http://img706.imageshack.us/img706/1903/noindex.png 与 强制索引通过提示http://img692.imageshack.us/img692/8205 /indexp.png 后一个图像我用一个提示强制使用索引.
我正在使用vim用于LaTeX而我正在使用乳胶套件.它为我提供了很好的语法高亮和折叠,但在大文件中语法高亮显示会"混乱".如果我打开所有折叠,语法高亮显示变为OK.我希望它能"一直工作".
我似乎记得一个选项会增加用作确定语法高亮的基础的行数,但我无法找到它.
我试图匹配这种语法:
pgm ::= exprs
exprs ::= expr [; exprs]
expr ::= ID | expr . [0-9]+
Run Code Online (Sandbox Code Playgroud)
我的scala packrat解析器组合器看起来像这样:
import scala.util.parsing.combinator.PackratParsers
import scala.util.parsing.combinator.syntactical._
object Dotter extends StandardTokenParsers with PackratParsers {
lexical.delimiters ++= List(".",";")
def pgm = repsep(expr,";")
def expr :Parser[Any]= ident | expr~"."~num
def num = numericLit
def parse(input: String) =
phrase(pgm)(new PackratReader(new lexical.Scanner(input))) match {
case Success(result, _) => println("Success!"); Some(result)
case n @ _ => println(n);println("bla"); None
}
def main(args: Array[String]) {
val prg = "x.1.2.3;" +
"y.4.1.1;" + …Run Code Online (Sandbox Code Playgroud) 我有一个XmlDocument用Weblogic XmlDocument解析器创建的 java 。
我想XMLDocument用我自己的数据替换这个标签的内容,或者如果它不存在就插入标签。
<customdata>
<tag1 />
<tag2>mfkdslmlfkm</tag2>
<location />
<tag3 />
</customdata>
Run Code Online (Sandbox Code Playgroud)
例如,我想在位置标签中插入一个 URL:
<location>http://something</location>
Run Code Online (Sandbox Code Playgroud)
但否则保留 XML 原样。
目前我使用XMLCursor:
XmlObject xmlobj = XmlObject.Factory.parse(a.getCustomData(), options);
XmlCursor xmlcur = xmlobj.newCursor();
while (xmlcur.hasNextToken()) {
boolean found = false;
if (xmlcur.isStart() && "schema-location".equals(xmlcur.getName().toString())) {
xmlcur.setTextValue("http://replaced");
System.out.println("replaced");
found = true;
} else if (xmlcur.isStart() && "customdata".equals(xmlcur.getName().toString())) {
xmlcur.push();
} else if (xmlcur.isEnddoc()) {
if (!found) {
xmlcur.pop();
xmlcur.toEndToken();
xmlcur.insertElementWithText("schema-location", "http://inserted");
System.out.println("inserted");
}
}
xmlcur.toNextToken();
} …Run Code Online (Sandbox Code Playgroud) 我正在阅读http://debasishg.blogspot.com/2008/04/external-dsls-made-easy-with-scala.html,我试图找到关于"<〜"运算符的信息,例如:
def trans = "(" ~> repsep(trans_spec, ",") <~ ")"
Run Code Online (Sandbox Code Playgroud)
我有一些合理的猜测,它与产品("〜")运算符和列表有关?
编辑:
在Scala组合器解析器中找到"<〜"信息- 区分数字字符串和变量字符串
问题2仍然存在
我有一个使用WebRequest访问http站点的程序.如果我启动程序执行一些webRequests,然后更改我的机器的Dns设置,该程序将不会更改DNS服务器
喜欢
WebRequest.Create("http://www.google.com");
Run Code Online (Sandbox Code Playgroud)
....将网络接口的Dns设置更改为无效或捕获门户....
WebRequest.Create("http://www.google.com");
// Still uses original dns server for dns lookup (or cache)
Run Code Online (Sandbox Code Playgroud)
ipconfig flushdns 没有区别
我可以用任何方式强制WebRequest使用实际的DNS服务器进行dns查找吗?
编辑:似乎重新启动DnsClient缓存的Windows服务就可以了.虽然相当铁杆
我正在尝试测试一个带有工厂(Func<T>)的类,我正在使用Moq和AutoFixture.
设置"环境"以查看工厂是否已被使用以及在返回的实例上使用了多少次以及使用了哪些方法的最佳方法是什么?
目前,我Mock'ing的T和Injecting一个Func<T>用于跟踪所有返回的模拟实例的数量:
public class SystemUnderTest {
public SystemUnderTest(Func<IMyClass> c)
{
try {
var c1 = c();
c1.Name="n1";
c1.Send();
}
catch(Exception){
var c2 = c();
c2.Name="n2";
c2.Send();
}
}
}
private Mock<IMyClass> MockFactory()
{
var m = new Mock<IMyClass>();
m.SetupProperty(mc=>mc.Name);
_returnedStubs.Add(m);
return m;
}
[Test]
public void TestSomething()
{
var fixture = new Fixture();
fixture.Inject(()=>MockFactory().Object)
var sut = fixture.CreateAnonymous<SystemUnderTest>();
Assert.That(_returnedStubs.Count,Is.Equal(1));
_returnedStubs[0].Verify(m=>m.Send(),Times.Exactly(1));
_returnedStubs[0].Verify(m=>m.Name = "n1");
}
Run Code Online (Sandbox Code Playgroud)
但对我来说,感觉有点不好/丑陋.而且我很确定测试类中的实例变量是危险的