我想删除Postgres中SELECT查询返回的重复行
我有以下查询
SELECT DISTINCT name FROM names ORDER BY name
Run Code Online (Sandbox Code Playgroud)
但这在某种程度上不会消除重复的行?
我正在阅读一些旧的游戏编程书籍,正如你们中的一些人可能知道的那样,在那一天,做一些黑客攻击通常比以标准方式做事更快.(转换float为int,屏蔽符号位,转换回绝对值,而不是仅调用fabs(),例如)
现在,使用标准库数学函数几乎总是更好,因为这些微小的东西无论如何都不是大多数瓶颈的原因.
但为了好奇,我仍然想做一个比较.所以我想确保在我描述时,我没有得到偏差的结果.因此,我想确保编译器不会优化没有副作用的语句,例如:
void float_to_int(float f)
{
int i = static_cast<int>(f); // has no side-effects
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?据我所知,做类似的事情i += 10仍然没有副作用,因此无法解决问题.
我唯一能想到的是拥有一个全局变量int dummy;,并且在执行类似的操作之后dummy += i,所以使用了值i.但我觉得这个虚拟操作会妨碍我想要的结果.
我正在使用Visual Studio 2008/G ++(3.4.4).
为了澄清,我希望最大限度地优化所有优化,以获得良好的个人资料结果.问题在于,由此可以优化出没有副作用的陈述,因此情况就是如此.
为了再次澄清,请阅读:我不是试图在某种生产代码中对其进行微观优化.
我们都知道旧的技巧不再有用了,我只是好奇他们是多么有用.只是好奇心.当然,如果不知道这些旧的黑客对现代CPU的表现如何,生活可以继续下去,但要知道它永远不会伤害.
所以告诉我"这些技巧不再有用了,不要试图微观优化等等"是一个完全忽略这一点的答案.我知道它们没用,我不使用它们.
过早引用Knuth是所有烦恼的根源.
我将在windows mobile和compact framework 2.0或更高版本上启动新的PDA项目.我需要像iPhone一样设计新的应用程序用户界面,它应该是smilar IPhone按钮,gradiend屏幕,颜色,这样的东西.我似乎需要在Windows移动应用程序上使用许多图像和背景来实现这一目标.
我不需要使用默认的pocketpc UI元素,它对我的项目和我没用.我需要你对新的pocketpc app用户界面设计的一些建议.
能否请您分享您的想法或建议?
我注意到,当我启动Netbeans时,它会显示在任务管理器中,netbeans.exe就像我自己的Java应用程序显示为java.exe或javaw.exe.
如何更改,以便我的进程名称显示为myapp.exe?
Borderline ServerFault问题,但我正在编写一些shell脚本,所以我先在这里尝试:)
大多数*nixes都有一个命令,可以将输出管道/重定向到本地剪贴板/粘贴板,并从中检索.在OS X上,这些命令是
pbcopy, pbpaste
Run Code Online (Sandbox Code Playgroud)
无论如何在SSH连接到另一台服务器时复制此功能?那是,
是的,我知道我可以(颤抖)使用我的鼠标从命令中选择文本,但我已经习惯了将输出直接压缩到剪贴板的工作流程,我希望我的远程会话也一样.
代码很有用,但也可以采用一般方法.
我知道谷歌的v8编译javascript到本机(二进制,如果我理解正确)代码.
有没有办法获取输出并将其转换为exe?
如果你想检查某些东西是否与正则表达式匹配,如果是,打印第一组,你可以...
import re
match = re.match("(\d+)g", "123g")
if match is not None:
print match.group(1)
Run Code Online (Sandbox Code Playgroud)
这完全是迂腐的,但中间match变量有点烦人..
像Perl这样的语言通过为匹配组创建新的$1.. $9变量来实现这一点,比如..
if($blah ~= /(\d+)g/){
print $1
}
Run Code Online (Sandbox Code Playgroud)
with re_context.match('^blah', s) as match:
if match:
...
else:
...
Run Code Online (Sandbox Code Playgroud)
..我认为这是一个有趣的想法,所以我写了一个简单的实现:
#!/usr/bin/env python2.6
import re
class SRE_Match_Wrapper:
def __init__(self, match):
self.match = match
def __exit__(self, type, value, tb):
pass
def __enter__(self):
return self.match
def __getattr__(self, name):
if name == "__exit__":
return self.__exit__
elif name == "__enter__":
return self.__name__
else: …Run Code Online (Sandbox Code Playgroud) 我有一个shell脚本,非常大.现在我的老板说我必须用Perl重写它.有没有办法编写Perl脚本并使用现有的shell代码,就像在我的Perl脚本中一样.类似于Inline :: C的东西.
是否有像Inline :: Shell这样的东西?我看了一下内联模块,但它只支持语言.
例如,具有用户的应用程序,每个用户可以只有一个组.如果我们想要选择没有成员的组列表,那么正确的SQL是什么?我一直觉得我只是要掌握查询,然后它又消失了.
奖励积分 - 考虑到替代的Senario,它是多对多的配对,识别未使用的组的SQL是什么?
(如果你想要具体的字段名称:)一对多:
Table 'users': | user_id | group_id |
Table 'groups': | group_id |
Run Code Online (Sandbox Code Playgroud)
许多一对多:
Table 'users': | user_id |
Table 'groups': | group_id |
Table 'user-group': | user_id | group_id |
Run Code Online (Sandbox Code Playgroud) 在对我的一个问题发表评论之后,我在想是否更好地使用带有X架构的1个数据库,反之亦然.
我的情况:我正在开发一个网络应用程序,当人们注册时,我创建(实际上)数据库(不,它不是社交网络:每个人都必须能够访问自己的数据,永远不会看到其他用户的数据).
这就是我用于我的应用程序的先前版本(仍然在mysql上运行)的方式:通过plesk api,对于每次注册,我这样做:
现在,我需要对postgresql做同样的事情(项目越来越成熟,mysql ......不能满足所有需求)
我需要使所有数据库/模式备份独立:pg_dump在两种方式下都能很好地工作,对于可以配置为仅访问1个模式或1个数据库的用户来说是相同的.
所以,假设你是比我更有经验的potgres用户,你认为对我的情况最好的解决方案是什么,为什么?
使用$ x db而不是$ x schemas会有性能差异吗?什么解决方案将来会更好地维护(可靠性)?
编辑:我差点忘了:我所有的数据库/模式将始终具有相同的结构!
Edit2:对于备份问题(使用pg_dump),使用1 db和多个模式可能更好,一次性转储所有模式:恢复将非常简单地在dev机器中加载主转储然后转储和恢复所需的模式:还有1个额外的步骤,但是倾倒所有架构似乎更快,然后逐个转储它们.
ps:对不起,如果我在文本中忘记了一些'W'字符,我的键盘会受到该按钮的影响;)
那么,应用程序的结构和设计在过去的两年中发生了很大变化.我仍在使用这种one db with many schemas方法,但是,我的应用程序的每个版本都有1个数据库:
Db myapp_01
\_ my_customer_foo_schema
\_ my_customer_bar_schema
Db myapp_02
\_ my_customer_foo_schema
\_ my_customer_bar_schema
Run Code Online (Sandbox Code Playgroud)
对于备份,我定期转储每个数据库,然后在开发服务器上移动备份.
我也使用PITR/WAL备份,但正如我之前所说,它不太可能我必须立即恢复所有数据库 ..所以它可能会被解雇今年(在我的情况下不是最好的方法).
从现在开始,1-db-many-schema方法对我来说非常有效,即使应用程序结构完全改变了:
我差点忘了:我所有的数据库/模式将始终具有相同的结构!
...现在,每个模式都有自己的结构,可以改变对用户数据流的反应.
postgresql ×2
shell ×2
windows ×2
c++ ×1
clipboard ×1
database ×1
executable ×1
idioms ×1
java ×1
javascript ×1
linux ×1
macos ×1
mysql ×1
optimization ×1
perl ×1
pocketpc ×1
python ×1
sql ×1
unix ×1
v8 ×1