问题列表 - 第23434页

在更改一个值时将行插入MySQL表

我有一个MySQL表,它定义了特定客户类型的值.

| CustomerType | 关键领域1 | 关键领域2 | 价值|

每个客户类型都有10个与之关联的值(基于其他两个关键字段).

我正在创建一个与另一个客户类型(TypeA)完全相同的新客户类型(TypeB).我想插入"TypeB"作为CustomerType,但只需从TypeA的行中复制其他三个字段的值.

是否有一个SQL插入语句来实现这一目标?

像这样的东西:

insert into customers(customer_type, key1, key2, value)  values
"TypeB" union 
    select key1, key2, value
    from customers
    where customer_type = "TypeA"
Run Code Online (Sandbox Code Playgroud)

谢谢 - 乔纳森

mysql insert

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

JavaScript替换回调 - 性能问题

在JavaScript中,您可以在regex字符串替换操作中定义回调处理程序:

str.replace(/str[123]|etc/, replaceCallback); 
Run Code Online (Sandbox Code Playgroud)

想象一下,你有一个字符串和替换的查找对象.

var lookup = {"str1": "repl1", "str2": "repl2", "str3": "repl3", "etc": "etc" };
Run Code Online (Sandbox Code Playgroud)

和这个回调函数:

var replaceCallback = function(match) { 
  if (lookup[match])
    return lookup[match]; 
  else
    return match;
}
Run Code Online (Sandbox Code Playgroud)

您如何评估上述回调的表现?有没有可靠的方法来改善它?将

if (match in lookup) //....
Run Code Online (Sandbox Code Playgroud)

甚至

return lookup[match] || match;
Run Code Online (Sandbox Code Playgroud)

导致JS编译器优化的机会,还是一切都是一样的?

javascript regex optimization performance

10
推荐指数
2
解决办法
8722
查看次数

有没有办法绕过Python list.append()随着列表的增长逐渐变慢?

我有一个大文件,我正在读取,并将每几行转换为一个对象的实例.

由于我循环遍历文件,因此我使用list.append(instance)将实例存储到列表中,然后继续循环.

这是一个约100MB左右的文件,因此它不会太大,但随着列表变大,循环逐渐减慢.(我打印循环中每圈的时间).

这不是循环所固有的〜当我循环浏览文件时打印每个新实例时,程序以恒定速度进行〜只有当我将它们附加到列表时才会变慢.

我的朋友建议在while循环之前禁用垃圾收集,然后启用它并进行垃圾收集调用.

有没有其他人观察到list.append变慢的类似问题?有没有其他方法来规避这个?


我将尝试以下两个建议.

(1)"预先分配"记忆〜这样做的最佳方法是什么?(2)尝试使用deque

多个帖子(请参阅Alex Martelli的评论)建议内存碎片化(他有像我这样的大量可用内存)〜但没有明显的性能修复.

要复制这种现象,请运行下面答案中提供的测试代码,并假设这些列表包含有用的数据.


gc.disable()和gc.enable()有助于计时.我还会仔细分析所有时间花在哪里.

python performance class list append

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

Linq to sql使用不同的datacontexts以不同的方法添加/更新

我需要方法,Add()和Update(),它们都创建一个datacontext并返回创建/更新的对象.

在我的单元测试中,我先调用Add(),做一些东西,然后调用Update().问题是Update()失败并出现异常:

  System.Data.Linq.DuplicateKeyException: Cannot add an entity with a key that is already in use..
Run Code Online (Sandbox Code Playgroud)

我理解这个问题,但想知道该怎么办呢?我已经阅读了一些关于如何处理多个datacontext对象的内容,并且从我听到过这种方式是可以的.

我知道实体仍然附加到Add()中的datacontext但我需要找出如何解决这个问题?

提前致谢

c# datacontext linq-to-sql

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

GDI + C++中的双缓冲

我有一段时间没有用GDI写过任何东西(从来没有和GDI +一起),我只是在做一个有趣的项目,但对于我的生活,我无法弄清楚如何加倍缓冲GDI +

void DrawStuff(HWND hWnd) {
    HDC          hdc;
    HDC          hdcBuffer;
    PAINTSTRUCT  ps;
    hdc = BeginPaint(hWnd, &ps);
    hdcBuffer = CreateCompatibleDC(hdc);
    Graphics graphics(hdc);
    graphics.Clear(Color::Black);

    // drawing stuff, i.e. bunnies:

    Image bunny(L"bunny.gif");
    graphics.DrawImage(&bunny, 0, 0, bunny.GetWidth(), bunny.GetHeight());  

    BitBlt(hdc, 0,0, WIDTH , HEIGHT, hdcBuffer, 0,0, SRCCOPY);
    EndPaint(hWnd, &ps);
}
Run Code Online (Sandbox Code Playgroud)

以上作品(一切都完美呈现),但它闪烁.如果我改变Graphics graphics(hdc);Graphics graphics(hdcBuffer);,我什么也看不到(虽然我应该bitblt'ing的buffer->的hWnd HDC底部).

我的消息管道设置正确(WM_PAINT调用DrawStuff),我通过调用强制每个程序循环WM_PAINT消息 RedrawWindow(window, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_UPDATENOW);

我可能会采取错误的方式来做这个,任何想法?MSDN文档充其量是神秘的.

c++ winapi gdi+

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

Ninject 2和MVC 2.0

我已经从VS2008和MVC1向VS2010和MVC2更新了一个项目.我遇到Ninject没有在区域内找到控制器的问题

这是我的global.asax.cs文件:

namespace Website
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode, 
// visit http://go.microsoft.com/?LinkId=9394801

public class MvcApplication : NinjectHttpApplication
{
    public static StandardKernel NinjectKernel;

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Balance",
            "Balance/{action}/{month}/{year}",
            new { controller = "Balance", action = "Index", month = DateTime.Now.Month, year = DateTime.Now.Year }
        );

        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Login", action = "Index", id = "" }  // Parameter defaults …
Run Code Online (Sandbox Code Playgroud)

ninject asp.net-mvc-2

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

SCons不会清除所有文件

我有一个包含"builds"目录的文件系统,每个目录都包含一个名为"build-info.xml"的文件.然而一些构建脚本生成的"集结info.xml"所以在这种情况下,我有一个有点不平凡SCons的SConstruct用来生成一个骨架集结info.xml,以便它可以被用作建立之前发生对进一步规则的依赖.

即:对于每个目录:

  • 如果build-info.xml已存在,则不执行任何操作.更重要的是,不要在'scons --clean'上删除它.
  • 如果build-info.xml不存在,则生成一个骨架 - build-info.xml不依赖于任何其他文件 - 骨架基本上是最小的默认值.
  • 在--clean期间,删除build-info.xml(如果它是生成的),否则保留它.

我的SConstruct看起来像这样:

def generate_actions_BuildInfoXML(source, target, env, for_signature):
    cmd = "python '%s/bin/create-build-info-xml.py' --version $VERSION --path . --output ${TARGET.file}" % (Dir('#').abspath,)
    return cmd

bld = Builder(generator = generate_actions_BuildInfoXML, chdir = 1)
env.Append(BUILDERS = { "BuildInfoXML" : bld })

...

# VERSION = some arbitrary string, not important here
# path = filesystem path, set elsewhere
build_info_xml = "%s/build-info.xml" % (path,)
if not os.path.exists(build_info_xml):
    env.BuildInfoXML(build_info_xml, None, VERSION = build)
Run Code Online (Sandbox Code Playgroud)

我的问题是'scons …

generator scons

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

Wordpress忽略了URL中的Unicode Chars

我正在使用wordpress与这种类型的永久链接:

/%,比去年%/%monthnum%/%postname%/

如果我使用这种类型的网址:example.com/2010/03/तकनीक

它将此url视为此example.com/2010/03/(通过忽略unicode字符)并显示2010年3月的存档列表.

如果我使用英文网址:example.com/2010/03/technology,那么它可以完美运行.

即使在标签页上也会出现此问题:例如example.com/tag/इंटरनेट被视为example.com/tag/并显示404页面.

为什么wordpress忽略了unicode字符?

如果我使用默认的查询字符串结构,那么即使使用unicode字符也能正常工作.

服务器信息:IIS7 Win2008服务器(启用了Url重写)Wordpress 2.9.2

php unicode wordpress permalinks

21
推荐指数
2
解决办法
3228
查看次数

在.Net中获取子字符串时,新字符串是否引用相同的原始字符串数据或数据是否被复制?

假设我有以下字符串:

string str1 = "Hello World!";  
string str2 = str1.SubString(6, 5); // "World"
Run Code Online (Sandbox Code Playgroud)

我希望在上面的例子str2中不复制"World",但只是最终成为一个新的字符串,指向相同的内存空间,只是它以6的偏移量和5的长度开始.

实际上我正在处理一些可能非常长的字符串,并且由于性能原因我对它在幕后的工作方式感兴趣.我不熟悉IL调查此事.

.net c# string substring

13
推荐指数
2
解决办法
3066
查看次数

MySQL:选择剩余的行

我到处寻找这个,但我似乎无法找到解决方案.也许我使用的是错误的条款.无论哪种方式,我都转向善于"信任",以帮助我找到答案.

我有两张桌子,我们称之为'工具'和'安装'

tools = id, name, version
installs = id, tool_id, user_id
Run Code Online (Sandbox Code Playgroud)

"工具"表记录了可用的工具,然后由用户安装并记录在"安装"表中.选择已安装的工具非常简单:

SELECT tools.name
  FROM tools
  LEFT JOIN installs
  ON tools.id = installs.tool_id
  WHERE user_id = 99 ;
Run Code Online (Sandbox Code Playgroud)

如何选择剩余的工具 - 用户#99尚未安装的工具?

如果这很痛苦,我很抱歉,但我似乎无法弄明白!谢谢您的帮助!

mysql sql join

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