小编Jos*_*ons的帖子

Oracle使用LIKE'tring'vs ='string'对性能有何影响?

这个

SELECT * FROM SOME_TABLE WHERE SOME_FIELD LIKE '%some_value%';
Run Code Online (Sandbox Code Playgroud)

比这慢

SELECT * FROM SOME_TABLE WHERE SOME_FIELD = 'some_value';
Run Code Online (Sandbox Code Playgroud)

但是这个怎么样?

SELECT * FROM SOME_TABLE WHERE SOME_FIELD LIKE 'some_value';
Run Code Online (Sandbox Code Playgroud)

我的测试表明第二个和第三个例子完全相同.如果这是真的,我的问题是,为什么要使用"="?

sql oracle performance

14
推荐指数
2
解决办法
2万
查看次数

是什么导致Oracle ROWID发生变化?

Oracle中的AFAIK ROWID表示适当数据文件中记录的物理位置.在哪种情况下,记录的ROWID可能会改变?

我所知道的是分区表上的UPDATE,它将记录"移动"到另一个分区.

还有其他案例吗?我们的大多数数据库都是Oracle 10.

sql database oracle rowid

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

MySQL:没有分组的计数条目?

我想提取结果并计算每个名字被拉多少但没有分组......

例如,我想要这个:

John Doe 3
John Doe 3
John Doe 3
Mary Jane 2
Mary Jane 2
Run Code Online (Sandbox Code Playgroud)

而不是这个:

John Doe 3
Mary Jane 2
Run Code Online (Sandbox Code Playgroud)

那有意义吗?

谢谢.

mysql sql

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

如何在SQL Server中设置简单的计算字段?

我有一个包含多个帐户字段的表格,如下所示:

MAIN_ACCT
GROUP_ACCT
SUB_ACCT
Run Code Online (Sandbox Code Playgroud)

我经常需要像这样组合它们:

SELECT MAIN_ACCT+'-'+GROUP_ACCT+'-'+SUB_ACCT
FROM ACCOUNT_TABLE
Run Code Online (Sandbox Code Playgroud)

我想要一个自动执行此操作的计算字段,所以我可以说:

SELECT ACCT_NUMBER FROM ACCOUNT_TABLE
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?

我正在使用SQL Server 2005.

sql sql-server-2005 calculated-field

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

在Delphi 2010中将字符串写入TFileStream

我有Delphi 2007代码,如下所示:

procedure WriteString(Stream: TFileStream; var SourceBuffer: PChar; s: string);
begin
  StrPCopy(SourceBuffer,s);
  Stream.Write(SourceBuffer[0], StrLen(SourceBuffer));
end;
Run Code Online (Sandbox Code Playgroud)

我称之为:

var
  SourceBuffer : PChar;
  MyFile: TFileStream;

....

SourceBuffer := StrAlloc(1024);
MyFile := TFileStream.Create('MyFile.txt',fmCreate);
WriteString(MyFile,SourceBuffer,'Some Text');
....
Run Code Online (Sandbox Code Playgroud)

这在Delphi 2007中有效,但它在Delphi 2010中给了我很多垃圾字符.我知道这是由于unicode合规性问题,但我不知道如何解决这个问题.

这是我到目前为止所尝试的:

我究竟做错了什么?

delphi unicode delphi-2007 delphi-2010

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

Delphi中的BDE与ADO

请注意下面的编辑以获取更多信息,以及可能的解决方案

我们最近修改了一个大型Delphi应用程序,以使用ADO连接和查询而不是BDE连接和查询.自那次改变以来,表现变得非常糟糕.

我已经分析了应用程序,瓶颈似乎是在实际调用TADOQuery.Open.换句话说,除了重构应用程序以减少实际使用数据库之外,从代码角度来看,我无法做很多事情来改进这一点.

有没有人有关于如何提高ADO连接的Delphi应用程序性能的建议?我已经尝试了这里给出的两个建议,几乎没有任何影响.

为了了解性能差异,我对相同的大型操作进行了基准测试:

  • 在BDE下:11秒

  • 在ADO下:73秒

  • 在该文章引用的更改之后的ADO下:72秒

我们在客户端 - 服务器环境中使用Oracle后端.本地计算机每个都保持与数据库的单独连接.

对于记录,连接字符串如下所示:

const
  c_ADOConnString = 'Provider=OraOLEDB.Oracle.1;Persist Security Info=True;' +
                    'Extended Properties="plsqlrset=1";' +
                    'Data Source=DATABASE.DOMAIN.COM;OPTION=35;' +
                    'User ID=******;Password=*******';
Run Code Online (Sandbox Code Playgroud)

回答zendar提出的问题:

我在Windows Vista和XP上使用Delphi 2007.

后端是Oracle 10g数据库.

如连接字符串所示,我们使用的是OraOLEDB驱动程序.

我的基准测试机器上的MDAC版本是6.0.

编辑:

在BDE下,我们有很多代码如下:

procedure MyBDEProc;
var
  qry: TQuery;
begin
  //fast under BDE, but slow under ADO!!
  qry := TQuery.Create(Self);
  try
    with qry do begin
      Database := g_Database;
      Sql.Clear;
      Sql.Add('SELECT');
      Sql.Add('  FIELD1');
      Sql.Add(' ,FIELD2');
      Sql.Add(' ,FIELD3');
      Sql.Add('FROM');
      Sql.Add('  TABLE1');
      Sql.Add('WHERE SOME_FIELD …
Run Code Online (Sandbox Code Playgroud)

delphi oracle performance ado bde

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

请帮我理解SQL vs C之类的编程?

具体来说,我试图了解SQL语句与普通C风格编程的区别,我似乎无法理解如何做"像这个表中的每个用户ID都有另一列数据等等的东西,运行这个存储程序"在编程中将是一个for循环,你怎么做这样的东西?

或者,对于tableA中contentID为11的每一行,向包含此数据的tableB添加一个新行,并从tableA的行中找到包含contentID为11的userID ...

任何人都在想与编程相比如何理解SQL语句?如果我明白自己的想法,我觉得我可以更好地运用它......

c sql

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

使用自己构建了哪些工具?

我很好奇用什么工具来构建自己的下一个版本.

例如,Delphi长期以来声称" Delphi是用Delphi编写的 ".

我假设Visual Studio是使用Visual Studio编写的.

什么是其他自己编写的工具示例?

bootstrapping

11
推荐指数
5
解决办法
1664
查看次数

如何确定在Delphi程序中使用哪些库我没有源代码?

我有一个Windows .exe文件,但它的源代码丢失了.开发人员没有责任离开我们公司.我认为这是一个delphi/pascal程序.开发人员使用了很多库,但我不确定哪些库.有没有一个工具可以告诉我哪些库用于制作这个exe?

delphi pascal exe libraries

10
推荐指数
3
解决办法
3025
查看次数

在typescript类中创建Google Map实例

嗨,我是Typescript和Javascript的新手,我在创建googlemap实例时遇到了一些问题.

我已经下载了google.maps.d.ts声明文件,并将其导入我的typescript类,就像这样,所有intellisense工作正常等等;

import googleMaps = module("google.maps"); 
module Mapping {
    export class GoogleMap implements IMap {

        public name: string;
        private map: any;
        private options: any;

        constructor (mapDiv:Element) {
            this.name = "GoogleMap";
            this.options = { zoom: 3, MapTypeId: 'terrian' };
            this.map = new googleMaps.google.maps.Map(mapDiv, this.options);
         }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试在index.cshtml文件中创建此类时;

<!DOCTYPE html>
<html>
    <head><title>TypeScript Mapping</title></head>
    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?    key=MYKEYGOESHERE&sensor=false"></script>
    <script type="text/javascript" src="~/scripts/require.js"></script>
    <script type="text/javascript" src="~/typings/Mapping.js"></script>
    <script type="text/javascript">
        function initialize() {

            var mapCanvas = document.getElementById("map");

            var googleMap = new Mapping.GoogleMap(mapCanvas);
        }
    </script> …
Run Code Online (Sandbox Code Playgroud)

google-maps typescript

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