小编mcc*_*ean的帖子

检查表中是否存在行的最有效方法是什么?

假设我想检查MySQL表中的记录是否存在.我运行一个查询,检查返回的行数.如果0行执行此操作,否则执行此操作.

SELECT * FROM table WHERE id=5
SELECT id FROM table WHERE id=5
Run Code Online (Sandbox Code Playgroud)

这两个查询之间有什么不同吗?是否花费了返回每一列,或者是否花费了过滤掉我们不关心的列?

SELECT COUNT(*) FROM table WHERE id=5
Run Code Online (Sandbox Code Playgroud)

这是一个全新的问题.服务器是否会获取所有值然后计算值(比平时更难),或者它是否会费心抓取任何东西并且每次找到匹配时都会增加变量(比平时更容易)?

我想我对MySQL的工作方式做了很多错误的假设,但这就是问题的关键所在!我哪里错了?教育我,Stack Overflow!

mysql sql performance

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

Android:使用SurfaceView重新获得焦点

我现在正在掌握Android,玩弄Lunar Lander样本.

我发现如果你离开应用程序(例如,点击通话按钮),它将破坏底层表面(调用surfaceDestroyed).

导航回来(将触发onWindowVisibilityChanged)应用程序将崩溃,因为它将尝试绘制到表面而不重新创建它.

是否有一些我可以放入onWindowVisibilityChanged(或其他任何地方)的代码可以重新生成SurfaceView的底层表面并很好地恢复执行?

感觉这应该是一个简单的函数调用,但我在API文档中找不到任何东西.

谢谢!

java android surfaceview

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

XNA - 在表单中嵌入DirectX控件?

我想将DirectX(井,XNA)的东西渲染到system.windows.forms控件而不是整个窗口(所以我可以将它与按钮和东西配对).

这可能吗?我会使用哪种控件?我该怎么办?我搜索了文档,但我不知道我打算使用哪些术语!

xna winforms

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

如何多次跳转到特定偏移量?

想象一下这个功能:

void SoundManager::playSource(ALuint sourceID, float offset)
{
    alSourceStop(sourceID);

    ALint iTotal = 0;
    ALint iCurrent = 0;
    ALint uiBuffer = 0;
    alGetSourcei(sourceID, AL_BUFFER, &uiBuffer);
    alGetBufferi(uiBuffer, AL_SIZE, &iTotal);
    iCurrent = iTotal * offset;

    alSourcei(sourceID, AL_BYTE_OFFSET, iCurrent);
    alSourcePlay(sourceID);
}
Run Code Online (Sandbox Code Playgroud)

想法是调用playSource(x, 0.5f)将跳转到(大致)缓冲区的中途等.

它在我第一次调用时工作正常,但是如果我在同一个源上再次调用它(无论该源是否正在播放),它就会开始播放,好像我用偏移0调用它一样.

有什么想法吗?

audio openal offset

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

标签 统计

android ×1

audio ×1

java ×1

mysql ×1

offset ×1

openal ×1

performance ×1

sql ×1

surfaceview ×1

winforms ×1

xna ×1