我使用pythons内置sqlite3模块来访问数据库.我的查询执行150000个条目的表和40000个条目的表之间的连接,结果再次包含大约150000个条目.如果我在SQLite管理器中执行查询需要几秒钟,但如果我从python执行相同的查询,它在一分钟后就没有完成.这是我使用的代码:
cursor = self._connection.cursor()
annotationList = cursor.execute("SELECT PrimaryId, GOId " +
"FROM Proteins, Annotations " +
"WHERE Proteins.Id = Annotations.ProteinId")
annotations = defaultdict(list)
for protein, goterm in annotationList:
annotations[protein].append(goterm)
Run Code Online (Sandbox Code Playgroud)
我做了fetchall公正的测量执行时间.有没有人对性能的巨大差异有解释?我在Mac OS X 10.6.4上使用Python 2.6.1.
编辑
我手动实现了连接,这样可以更快地完成.代码如下所示:
cursor = self._connection.cursor()
proteinList = cursor.execute("SELECT Id, PrimaryId FROM Proteins ").fetchall()
annotationList = cursor.execute("SELECT ProteinId, GOId FROM Annotations").fetchall()
proteins = dict(proteinList)
annotations = defaultdict(list)
for protein, goterm in annotationList:
annotations[proteins[protein]].append(goterm)
Run Code Online (Sandbox Code Playgroud)
因此,当我自己获取表格然后在python中进行连接时,大约需要2秒钟.上面的代码需要永远.我在这里错过了什么吗?
第二次编辑
我现在尝试使用apsw,它工作正常(代码根本不需要更改),性能很棒.我仍然想知道为什么这个sqlite3-module 这么慢.
我需要使用Cocoa编写一些东西来表示原始鼠标移动数据.最理想的情况是,应用程序只是一个可以运行的小守护进程,将数据传递给另一个应用程序可以访问的套接字服务器以获取对事件的访问权限.
任何人都能指出我在方法和工具方面的正确方向吗?我现在还不确定从哪里开始.
我想知道是否可以使用jQuery限制具有指定类的元素中的字符数量?
例如,缩短类的以下元素只显示40个左右的字符.
<p class="shortened">This would be the text limited to 40 Characters</p>
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助.
我正在尝试使用.NET的ProtectedData.Protect方法加密和解密一些文本文件数据.我希望能够在一台机器上加密文本(并将其保存到文件中)并在另一台机器上解密文本.这些机器都在同一个域中,并且在相同的用户名下运行相同的服务,所以我认为使用DataProtectionScope.CurrentUser将允许任一服务加密和解密文件.
当服务号2尝试解密文件时,它会抛出"密钥无法在指定状态下使用".其他网站表明,当假冒行为没有正确完成时会出现这种问题,但没有模仿.两个服务都在同一个AD帐户下运行.在我看来,服务使用不同的密钥来加密数据但我不知道为什么会发生这种情况,因为它们在同一帐户下运行.
还有其他人遇到过这种问题吗?
我用来加密和解密的代码基本上是:
byte[] bytes = Encoding.Unicode.GetBytes(password);
byte[] protectedPassword = ProtectedData.Protect(bytes, null, DataProtectionScope.CurrentUser);
return Convert.ToBase64String(protectedPassword); //then I write this to a file
Run Code Online (Sandbox Code Playgroud)
谢谢!
*EDIT6:*这最终为我工作(从接受的答案):
var ret1 number
var tran_cnt number
var msg_cnt number
var rc refcursor
exec :tran_cnt := 0
exec :msg_cnt := 123
exec get_account(Vret_val => :ret1, Vtran_count => :tran_cnt, Vmessage_count => :msg_cnt, Vaccount_id => 1, rc1 => :rc)
print :tran_cnt
print :msg_cnt
print :rc
Run Code Online (Sandbox Code Playgroud)
SQL Developer让这个超级难/不可能?我不在乎该实用程序是否基于命令行; 我只是希望能够快速运行并查看它.如果它也能很好地捕获错误,那就太好了.能够逐步(交互式)登录,以及一次性指定所有内容(类似于典型的基于ftp/sftp cmd的客户端的工作方式)将会很棒.
我的平台是Windows Server 2008 + Cygwin.
编辑:也许你会知道如何使用Python编写脚本?
编辑2:在MSFT SQL服务器中,我只需输入:
get_user 1;
Run Code Online (Sandbox Code Playgroud)
然后突出显示它并点击F5,我得到:
login name
NULL Somename
Run Code Online (Sandbox Code Playgroud)
打印到输出窗口.Oracle SQL开发人员根本没有帮助.我不知道如何传入1,我不知道如何查看返回的实际行/记录.
编辑3:当我输入var rc refcursor;并选择并运行它时,我收到此错误(GUI):
An error was encountered performing the requested …Run Code Online (Sandbox Code Playgroud) oracle plsql stored-procedures sys-refcursor oracle-sqldeveloper
我有一些方法可以添加到Array我的Rails应用程序的Ruby 类中.放置它们的最佳位置在哪里?
现在我在config/environment.rb中有它们.
我需要修改一个查询视图生成,以便我可以使用高度自定义的过滤器.由于这个问题,我已经使用一些OR实现了add_where()函数:Drupal View Filters中的OR运算符
然而,这只能解决我的一部分问题.有些字段我无法过滤,因为我需要在查询中添加额外的JOIN.
有什么东西沿着这条线
$view->query->add_where()
Run Code Online (Sandbox Code Playgroud)
可以插入JOIN语句吗?
与我的帖子(如何通过HTTP从Internet检索文件?)有关如何从Internet轻松,健壮地下载文件相关,我找到了一个可能的解决方案 - 但是不能正常工作.
根据MS文档,我断开自己的互联网后,下面的代码应该在500ms超时.但是,它看起来完全忽略了'INTERNET_OPTION_RECEIVE_TIMEOUT'设置.应用程序在下载期间冻结.此功能需要大约20-30才能实现Internet连接断开并将控制权交还给GUI.
谁知道为什么?
function GetBinFileHTTP (const aUrl: string; const pStream: TStream; wTimeOut: Word= 500; wSleep: Word= 500; wAttempts: Word= 10): Integer;
CONST
BufferSize = 1024;
VAR
hSession, hService: HINTERNET;
Buffer : array[0..BufferSize-1] of Char;
dwBytesRead, dwBytesAvail: DWORD;
lSucc : LongBool;
lRetries, dwTimeOut: Integer;
begin
Result:= 0;
if NOT IsConnectedToInternet then
begin
Result:= -1;
EXIT;
end;
hSession := InternetOpen(PChar(ExtractFileName(Application.ExeName)), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); { The INTERNET_OPEN_TYPE_PRECONFIG flag specifies that if the user has configured Internet …Run Code Online (Sandbox Code Playgroud) 如何在Ninject中编写此StructureMap行
ForRequestedType<HttpContextBase>()
.TheDefault.Is.ConstructedBy(x => new HttpContextWrapper(HttpContext.Current));
Run Code Online (Sandbox Code Playgroud)
?
我有一个将显示徽标的Web应用程序.部分徽标将采用GIF格式.有些将采用JPEG格式.
我想标准化文件命名约定,以便我可以在公司的主键上找到徽标文件.例如,"British Petroleum"的PK为1459,其徽标存储在/ Images/Logos/C1459中
所以我的问题是:
文件扩展名是否重要?我可以保存文件,剥离.JPG或.GIF并期望所有浏览器能够识别和呈现文件吗?或者一些broswers依赖文件扩展名进行识别?
我已经在IE7的测试机器上尝试了这个并且它工作正常,但我不想假设所有其他浏览器的工作方式相同.
编辑:一个跟进问题.Hows IIS是否确定无扩展名文件的MIME类型?
.net ×1
c# ×1
cocoa ×1
delphi ×1
drupal ×1
drupal-6 ×1
encryption ×1
html ×1
iis ×1
jquery ×1
mouse ×1
mouseevent ×1
ninject ×1
objective-c ×1
oracle ×1
performance ×1
php ×1
plsql ×1
python ×1
security ×1
sql ×1
sqlite ×1
structuremap ×1