小编Dan*_*ola的帖子

向 Redshift 表添加 NOT NULL 列

我想向包含记录、IDENTITY 字段且其他表具有外键的 Redshift 表添加一个 NOT NULL 列。

在 PostgreSQL 中,您可以将列添加为 NULL,填充它,然后将其更改为 NOT NULL。

在 Redshift 中,迄今为止我发现的最好的是:

ALTER TABLE my_table ADD COLUMN new_column INTEGER;

-- Fill that column

CREATE TABLE my_table2 (
    id INTEGER IDENTITY NOT NULL SORTKEY,
    (... all the fields ... )
    new_column INTEGER NOT NULL,
    PRIMARY KEY(id)
) DISTSTYLE all;

UNLOAD  ('select * from my_table')
to 's3://blah' credentials '<aws-auth-args>' ;

COPY my_table2 
from 's3://blah' credentials '<aws-auth-args>'
EXPLICIT_IDS;

DROP table my_table;

ALTER TABLE my_table2 RENAME TO my_table;

-- For …
Run Code Online (Sandbox Code Playgroud)

sql amazon-redshift

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

声音处理:应该使用DirectSound还是直接使用Win32 API?

我将在以下位置进行申请:

  • 从麦克风录音并在输入上进行一些实时处理
  • 播放MP3文件(常规歌曲),但实时处理输出
  • 我偶尔也会需要在这首歌上播放其他声音,但是我想我可以通过简单地添加缓冲区来做到这一点。

简而言之,我需要同时具有用于记录和播放的循环缓冲区,并且需要每20毫秒左右将即将播放的新数据“馈入”输出缓冲区。

我一直在看DirectSound,但似乎并没有太大帮助。读取和写入输出缓冲区似乎与Win32非常相似,唯一似乎可以帮助在主歌曲上播放“其他声音”的地方。

我应该使用DirectSound,还是应该直接使用原始Windows API?
DirectSound会为我做任何事情吗?

提前致谢!

audio winapi directsound audio-recording audio-player

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

将数据加载从一个表插入另一个表的最快方法是什么?(SQL Server 2005)

我基本上试图将数据从SQL Server 2005中的一个数据库中的表复制到另一个表,在同一个SQL Server实例中的另一个数据库中具有相同的结构(但很多索引).

我目前的方法是显而易见的INSERT/SELECT:

set identity_insert TargetDBName.dbo.TableName on

insert into TargetDBName.dbo.TableName ([FieldsList])
  select [FieldsList] from  TargetDBName.dbo.TableName    

set identity_insert SourceDBName.dbo.TableName off
Run Code Online (Sandbox Code Playgroud)

这大概是永久性的(1000万条记录需要1小时,而从索引表到没有索引的表需要20分钟).

最好的方法是什么?

谢谢!

sql-server insert bulk

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

是否可以在PHP中"转义"方法名称,以便能够使用与保留关键字冲突的方法名称?

我在PHP中做MVC,我想在我的Controller中有一个list()方法,以获得URL/entity/list/parent_id,以显示属于该父级的所有"x".

但是,我不能有一个名为list()的方法,因为它是一个PHP保留关键字.

例如,在VB.Net中,如果我需要一个名称与保留关键字冲突的东西,我可以将它包装在[reserved_name]中.
在SQL中,您可以执行相同的操作.
在MySQL中,你使用反引号`

PHP中是否有一些语法指定"将其视为标识符,而不是关键字"?

(注意:我知道我可以使用路由来执行此操作而不使用list()方法.我也可以简单地将操作调用为其他内容.问题是PHP是否提供了这种转义)

php escaping reserved-words identifier keyword

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

CakePHP:从DB读取模型时,我可以忽略一个字段吗?

在我的一个模型中,我有一个"LONGTEXT"字段,其中包含大量的东西,我从不在乎这些东西,它减慢了速度,因为我在数据库和Web之间移动了更多的数据应用程序.

有没有办法在模型中指定我希望CakePHP简单地忽略该字段,从不读它或用它做任何事情?

我真的想避免创建一个单独的表和一个单独的模型的麻烦,仅适用于此字段.

谢谢!
丹尼尔

cakephp

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

您可以将手动SQL查询的结果映射到Entity Framework中的对象吗?

在LINQ中,您可以编写一个手动SQL查询,从中获取结果,并使LINQ将这些结果“映射”到您的Model类的适当属性中(或者至少,我很确定我读过您可以做到这一点)。

是否可以在实体框架中执行类似的操作?

我有一个使用EF的Web应用程序,与它所拥有的流量相比,它的CPU使用率非常高,并且在我的计算机中对其进行性能分析,所有时间(可以预期)都花在了DB函数中,并且这是大部分时间(> 85%)由EF“生成” SQL并在实际执行查询之前执行操作所花费。

因此,我的理由是,我可以直接对SQL查询进行硬编码,但仍在视图中使用填充的Model属性。

这可能吗?如果是这样,我该怎么办?

谢谢!
丹尼尔

linq asp.net-mvc entity-framework

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

如何在iPhone 4中以全分辨率获得全屏画布?

我正在尝试创建一个HTML5游戏,我想在现代桌面浏览器中工作,加上我可以动手的智能手机.目前,这意味着iPhone 3/4和几个Androids ......

这个游戏基本上是一个占据整个屏幕的画布,我手动调整大小(处理onResize事件)如下:(这是我发现最好的,通过反复试验,如果你有任何提示,我会喜欢听他们!)

  • 对于桌面浏览器:canvas.width/height = window.innerWidth/Height
  • 对于Android:相同,但我将(outerHeight - innerHeight)添加到画布高度,然后向下滚动,以补偿顶部栏.
  • 对于iPhone 3:与Android相同,但我添加了硬编码的60px.

在所有情况下,我都有这些元标记:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, target-densitydpi=device-dpi" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
Run Code Online (Sandbox Code Playgroud)

现在我的大问题是iPhone 4 ...我上面提到的iPhone 3设置运行完美,但它显示在低分辨率,看起来像垃圾.我无法成功地以完整的Retina分辨率显示它,而无需滚动和(这是关键)响应手机的旋转.

我得到的最接近的是设置

<meta name="viewport" content="width=640, initial-scale=0.5 (etc)" />
Run Code Online (Sandbox Code Playgroud)

并将画布设置为窗口外部宽度和高度而不是内部.这看起来很华丽; 然而,一旦我旋转手机,它就会全部搞砸了,如果我把它旋转回肖像,那就更加搞砸了.
令人惊讶的是,刷新并没有解决它,我需要将元视口中的"初始比例"更改为1,刷新,然后再返回0.5并再次刷新.

有没有办法做我想做的事情?

非常感谢你!
丹尼尔

javascript canvas resolution fullscreen iphone-4

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

在表中搜索并获得结果和结果数量的最佳方法(MySQL)

我有一个"项目"表和一个"项密钥"表.当用户搜索关键字时,我想给他一页结果加上结果总数.

我目前正在做的是(对于搜索"ab c"的用户:

SELECT DISTINCT {fields I want} FROM itemkeywords JOIN items   
    WHERE (keyword = 'a' or keyword='b' or keyword='c'
    ORDER BY "my magic criteria"
    LIMIT 20.10
Run Code Online (Sandbox Code Playgroud)

然后我用计数做同样的查询

SELECT COUNT(*) FROM itemkeywords JOIN items   
    WHERE (keyword = 'a' or keyword='b' or keyword='c'
Run Code Online (Sandbox Code Playgroud)

这可能会得到一个相当大的表,我认为这个解决方案非常
糟糕... 但我想不出更好的东西.

避免两次点击MySQL的明显替代方案,即只进行第一次查询,没有LIMIT子句,然后导航到正确的记录以显示相应的页面,然后到记录集的末尾以便计算结果似乎更糟...

有任何想法吗?

注意:我使用的是ASP.Net和MySQL,而不是PHP

mysql asp.net performance search

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

如何实时处理麦克风输入?

我开始为我的想法创建一个概念证明,在这一点上,我需要一些关于如何开始的指导.

我需要对麦克风输入进行采样,并实时处理该信号(想想Auto-Tune,但是现场工作),而不是"录音"一段时间.

我正在做的是"一种""MIDI转换器的麦克风输入",所以它需要非常快速地响应.

我在线调查了一下,显然要走的路是DirectSound或WaveIn*API函数.现在,根据我读到的内容,WaveIn API将让我填充一定大小的缓冲区,这对于录制和后期处理来说很好,但我想知道......我该如何进行实时处理?

我是否使用10ms缓冲区并自己保留一个50ms或100ms的圆形阵列,并且我得到一个每10ms触发一次分析的功能?(可以访问最新的100毫秒输入,其中只有10毫秒是新的)

我在这里错过了什么吗?

另外,DirectSound是如何完成的?它是否比常规的Win32 API提供了任何改进的功能?

audio winapi signal-processing microphone directsound

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

如何比较Javascript中的日期?

我有以下情况:

我有一个运行循环并执行操作的特定函数,错误条件可能会使其退出该循环.我希望能够检查循环是否仍在运行.

为此,我正在做,为每个循环运行:

LastTimeIDidTheLoop = new Date();
Run Code Online (Sandbox Code Playgroud)

在另一个每30秒运行一次SetInterval的函数中,我想基本上这样做:

if (LastTimeIDidTheLoop is more than 30 seconds ago) {
  alert("oops");
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

谢谢!

javascript date

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