问题列表 - 第2555页

为什么MySQL不使用此子查询的索引?

我曾经这样做过:

SELECT layerID
FROM layers
WHERE ownerID = ?
AND collectionID = ?
Run Code Online (Sandbox Code Playgroud)

哪个会给我一个layerID的数组,然后我循环并为每个执行此操作:

SELECT DATA
FROM drawings
WHERE layerID = ?
Run Code Online (Sandbox Code Playgroud)

这一切都很好.所以现在我试图一步到位,所以我试试这个:

SELECT DATA , layerID
FROM drawings
WHERE layerID = ANY (
  SELECT layerID
  FROM layers
  WHERE ownerID = ?
  AND collectionID = ?
) 
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,它不使用索引,对于主查询,SELECT DATA etc!因此,这个组合查询需要花费更长的时间来完成,而不是之前我做过的单独查询.(顺便说一句,子查询SELECT layerID etc仍然使用索引).

我已经通过使用'EXPLAIN'语句确定它是否正在使用查询.

我对个别指标ownerIDcollectionID在列layers表中,并在layerIDdrawings表.

我的查询错误是什么?

mysql indexing optimization subquery

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

在C++中强制要破坏某些东西

我正在开发一个C++应用程序,它内部有一些控制器对象,这些控制器对象是定期创建和销毁的(使用new).这些控制器必须将自己注册到另一个对象(让我们称之为controllerSupervisor),并在它们被销毁时取消注册.

当我退出应用程序时,我现在面临的问题是:由于破坏的顺序不是确定性的,因此在控制器本身(某些)之前,单个controllerSupervisor实例被破坏,并且当它们调用unregister方法时他们的析构函数,他们在已经被破坏的物体上这样做.

到目前为止我提出的唯一想法(有一个很大的冷,所以这可能并不重要)并没有将controllerSupervisor作为堆栈上的全局变量,而是在堆上(即使用new).但是在那种情况下我没有地方可以删除它(这都是第三方类型的库).

任何可能的选项的提示/建议将不胜感激.

c++ destructor

6
推荐指数
3
解决办法
897
查看次数

如何将标识属性添加到SQL Server中的现有列

在SQL Server(在我的情况下,2005)中,如何使用T-SQL将identity属性添加到现有表列?

就像是:

alter table tblFoo 
    alter column bar identity(1,1)
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server identity

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

XSD代码生成器

是否有任何代码生成器可以采用格式良好的XML文档,并根据XML文档的结构编写XSD架构?

xml xsd code-generation

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

图表中的最小路径是什么?

在图论中,最小距离(Dijkstra算法找到的)和最小路径(我不确定它是什么)之间的区别是什么?

language-agnostic algorithm graph-theory shortest-path

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

控制台应用程序的Windows默认大小

在测试控制台应用程序时,我将控制台窗口的属性设置为仅高3行.

这种变化有点卡住了,这意味着新的控制台窗口默认为3行高.如果我在桌面上创建一个新的快捷方式,并将其指向cmd.exe,则打开的窗口高3行.

当然,我可以使用属性面板更改此值,这最终会导致"仅当前窗口"/"具有相同标题的未来窗口"/"启动此窗口的快捷方式"对话框以更改设置的粘性.这些选择都不会导致默认值被更改.如果,随后,我创建了一个新的cmd.exe快捷方式,它仍然是3行高.

主要的问题是,对于我编写的任何新控制台应用程序,我第一次调试它时,我必须更改大小设置,当我运行发布版本时,它是相同的故事.

有谁知道新的(即新的标题或新的快捷方式)控制台应用程序的默认设置存储/如何更改它们?

[而且,是的,我觉得这是一个问的布偶,但我无法在任何地方找到这些信息!]

windows console command-line cmd

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

如果我将GridDataBound或DataBound用于GridView,这是否重要?

根据GridView的VS 2008属性:

  • 控件数据绑定后,DataBound将触发.
  • 一行被数据绑定后,RowDataBound将触发.

如果我想操作标题列中的文本,如果我使用DataBound或RowDataBound是否重要,因为我总是可以检查e.Row.RowType.除了显而易见之外,还有实际的区别吗?

asp.net data-binding

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

用于div标签的JavaScript RegEx

我持有的HTML网页JavaScript变量和因安装,我需要之间抽取的一切<div id="LiveArea">,并</div>从使用JavaScript变量.

任何帮助是极大的赞赏.

javascript regex

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

VC++如何破坏本地静态变量名?

这是我的一些代码:

MyClass* MyClass::getInstance()
{
   static MyClass instance;
   return &instance;
}
Run Code Online (Sandbox Code Playgroud)

我想研究一下这个单身人士的当前价值.但我现在暂停执行三个小时,而我暂停的原因是我失去记忆.所以我不能在这个方法中设置一个断点来看看它的价值.

那么我的问题是如何instance从全局范围引用这个变量.我试过把它称为MyClass::getInstance::instance但是这不起作用.我猜getInstance不得不以某种方式装饰.谁知道怎么样?

这是在Visual Studio 2008中.

c++ scope

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

Bash Shell Scripting:我错过了什么简单的逻辑

这可能是一个过于笼统的问题,但是...我试图从shell脚本中移动目录而感到难过.我不是一个*nix高级用户,但我很乐意通过命令行完成大多数任务.我想调用一个可以将"我"移动到目录的脚本,而不仅仅是类似于以下内容的脚本过程:

prompt:> goto lit   
Run Code Online (Sandbox Code Playgroud)

goto别名在哪里 - > goto='./goscript'
并且
goscript有一些简单的代码,例如:

cd /path to work dirs/lit/user dir  
Run Code Online (Sandbox Code Playgroud)

(假设每个用户都有一个目录/点亮)

我通过设置我的个人别名来移动到所需的目录,运行脚本,然后返回到原始目录,我自己避免了这个问题.这个问题是由一个使用类似方法的同事带给我的,但是想让这个过程更通用,所以我们不需要创建我们需要的每个别名.我认为这将是一个容易解决的问题,但我很难过,因为我还没有太多的shell脚本编写经验......

linux bash shell pid

6
推荐指数
3
解决办法
2223
查看次数