小编Cha*_*rns的帖子

大的性能差异:使用sysdate与使用预先格式化的日期

为什么这两个查询之间存在如此巨大的性能差异?

-- (89 seconds)
SELECT max(mydate) FROM mytable WHERE eqpid = 'ABCDEFG'
AND mydate < sysdate - 5
Run Code Online (Sandbox Code Playgroud)

-- (0.6 seconds)
SELECT max(mydate) FROM mytable WHERE eqpid = 'ABCDEFG'
AND mydate < TO_DATE('05/27/2011 03:13:00', 'MM/DD/YYYY HH24:MI:SS') -- 5 days ago
Run Code Online (Sandbox Code Playgroud)

无论索引如何,似乎to_date和sysdate都只返回"某个日期值".

注意:此表上存在一个复合索引,包括eqpid和另外两列.mydate也存在索引.两者都是b树.大约有2900万行.

为什么优化器会选择这些明显不同的(在一种情况下,可怕的)计划?

sql oracle performance oracle9i

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

在结束Visual Studio调试会话时自动关闭Chrome或Firefox,如IE

当我在Internet Explorer中调试Visual Studio中的Web项目时,浏览器在我结束调试会话时自动关闭.同样,当我首先结束浏览器时,结束调试会话.我知道IE与Visual Studio有特殊的集成.

我的问题是:我可以在Chrome和Firefox上启用此类集成,可能使用浏览器或Visual Studio扩展吗?

我的研究:我在网上搜索"firefox visual studio集成","关闭调试chrome visual studio",但没有任何相关内容出现.在Visual Studio Extension Manager中搜索"chrome"或"firefox"不会产生任何结果.

integration firefox google-chrome visual-studio visual-studio-2017

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

Qt:QImage始终将透明色保存为黑色

如何在没有Qt使透明颜色为黑色的情况下将具有透明度的文件保存到JPEG文件中?我知道JPEG不支持alpha,黑色可能只是alpha的默认"0"值,但黑色是一种可怕的默认颜色.

看起来这应该是一个简单的操作,但是当我保存为JPEG时,我尝试过的所有掩码和alpha函数都会被忽略.

例如:

image->load("someFile.png"); // Has transparent background or alpha channel
image->save("somefile.jpg", "JPG"); // Transparent color is black
Run Code Online (Sandbox Code Playgroud)

在保存为JPEG之前,我尝试用白色填充图像,在保存之前将图像转换为ARGB32(带有8位alpha通道),甚至尝试了可笑的缓慢的东西:

QImage image2 = image1->convertToFormat(QImage::Format_ARGB32);
image2.setAlphaChannel(image1->alphaChannel());
image2.save(fileURI, "JPG", this->jpgQuality; // Still black!


See: http://67.207.149.83/qt_black_transparent.png for a visual.
Run Code Online (Sandbox Code Playgroud)

c++ qt transparency qimage

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

| DataDirectory目录| 返回AppData文件夹的错误路径

| DataDirectory |,你有一份工作.|DataDirectory|在IIS7.5上解析为:

C:\inetpub\wwwroot\appname\App_Data

该文件夹不存在.正确的文件夹是:

C:\inetpub\wwwroot\appname\bin\App_Data

一切都在开发机器上很好,但是当我部署到服务器时,AppData被置于其中bin\.我使用任何Visual Studio 2010项目中显示的AppData,并使用" 构建部署包 "(VS2010)和" 导入应用程序 "(IIS管理器)进行部署.

我知道我可以使用AppDomain.SetData或类似方法手动设置路径,但我对该功能的解释是返回正确的位置以便在不同的服务器上进行部署.如果我必须硬编码该路径,它不是很有用.

连接字符串: "Data Source=|DataDirectory|\db.sqlite;"

如何|DataDirectory|返回AppData路径或者防止创建不必要的bin\文件夹?

.net asp.net-mvc connection-string .net-4.0

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

用于在固件中存储串行端口数据的数据结构

我将数据从Linux应用程序通过串口发送到嵌入式设备.

在当前实现中,在固件中使用字节循环缓冲器.(只有带有读写指针的数组)当字节进入时,它被写入循环缓冲区.

现在,PC应用程序似乎发送的数据太快,无法让固件处理.错过字节,导致固件返回WRONG_INPUT太多次.

我认为波特率(115200)不是问题.固件端更有效的数据结构可能会有所帮助.有关数据结构选择的任何建议吗?

c linux embedded serialization data-structures

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

如何缩进 MultiSelectBox 中的值?

我在 Razor MultiSelectBox 中创建缩进项时遇到问题。

当我手动编写 HTML 时,它工作得很好:

<select name="testfoo123" multiple="multiple" size="15">
    <option value="PARENT1">Parent</option>
    <option value="CHILD1">&nbsp;I am indented</option>
    <option value="CHILD2">&nbsp;I am indented</option>
    <option value="PARENT1">Parent2</option>
    <option value="CHILD1">&nbsp;I am indented</option>
    <option value="CHILD2">&nbsp;I am indented</option>
</select>
Run Code Online (Sandbox Code Playgroud)

然而,Razor 的 HTML 帮助程序从字面上显示表单中前面的不间断空格。正如预期的那样,用于缩进的文字空间 ' ' 字符将被完全忽略。

我用来生成多选框的代码如下:

@Html.ListBoxFor(model => mySelectedValues, new MultiSelectList(myValues), new { size = "15" })
Run Code Online (Sandbox Code Playgroud)

c# razor asp.net-mvc-3

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

你怎么读lambda表达式?

我一直在想弄清楚为什么lambda表达式对我来说并不直观.我怀疑它的一部分可能是因为当我浏览代码时,为了我自己的清晰度,我有时会在内部将其翻译成我的母语.例如:

endDate.Value = someNullableDate ?? (object)DBNull.Value;
// I could read as:
set endDate to someNullableDate or, if null, to (object)dbNull
Run Code Online (Sandbox Code Playgroud)

另一种语言的例子:

for(int count = 0; count >= 42; count++) {
    cout << "Count is " << count << endl;
}
// May read as:
from an integer "count" as zero to 42 inclusive, display "Count is " and then the integer.
Run Code Online (Sandbox Code Playgroud)

那么如何读取lambda表达式:

var myList = new List<String>(/* various string values */);
var foo = myList.Select(s => s.Trim()).ToList(); //?
Run Code Online (Sandbox Code Playgroud)

.net c# lambda

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

系统的类设计是分层的,但不是整齐的

我已经多次遇到过这种情况,所以想用一个真实的例子来了解更有经验的C#开发人员如何处理这个问题.

我正在围绕非托管MediaInfo库编写一个.NET包装器,它收集有关媒体文件(电影,图像......)的各种数据.

MediaInfo有许多功能,每个功能适用于不同类型的文件.例如,"PixelAspectRatio"适用于图像和视频,但不适用于音频,字幕或其他内容.

我想要包装的功能的子集如下:

General Video   Audio    Text   Image  Chapters  Menu    (Name of function)    
x       x       x        x      x      x         x       Format
x       x       x        x      x      x         x       Title
x       x       x        x      x      x         x       UniqueID
x       x       x        x      x                x       CodecID
x       x       x        x      x                x       CodecID/Hint
        x       x        x      x                x       Language
x       x       x        x      x                        Encoded_Date
x       x       x        x      x                        Encoded_Library
x       x       x        x      x                        InternetMediaType
x       x …
Run Code Online (Sandbox Code Playgroud)

c# design-patterns .net-4.0

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

Oracle - 在表上没有主键有什么影响吗?

我们在表上使用序列号作为主键.有些表我们并不真正使用主键进行任何查询.但是,我们在其他列上有索引.这些是非唯一索引.查询在WHERE条件中使用这些非主键列.

所以,我真的没有看到在这些表上使用主键的任何好处.我对SQL 2000的经验是,它用于复制具有一些主键的表.否则它不会.

我使用的是Oracle 10gR2.我想知道是否存在没有主键的表的副作用.

database oracle database-design

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

重定向URI不能包含换行符.(查询字符串)

我收到此错误重定向URI不能包含换行符.当运行下面的代码.工作MVC 4.她是我的工作代码.

 protected void Application_Error(Object sender, System.EventArgs e)
            {
                System.Web.HttpContext context = HttpContext.Current;
                System.Exception exception = Context.Server.GetLastError();
                var stackTraceExcep = new StackTrace(exception, true); // create the stack trace
                var stackTrace = stackTraceExcep.GetFrames()         // get the frames
                              .Select(frame => new
                              {                   // get the info
                                  FileName = frame.GetFileName(),
                                  LineNumber = frame.GetFileLineNumber(),
                                  ColumnNumber = frame.GetFileColumnNumber(),
                                  Method = frame.GetMethod(),
                                  Class = frame.GetMethod().DeclaringType,
                              }).FirstOrDefault();


                string FileName = stackTrace.FileName;
                string LineNumber = stackTrace.LineNumber;
                string ColumnNumber = stackTrace.ColumnNumber;
                string MethodName = stackTrace.Method.Name; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc global-asax query-string

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