我试着运行一个简单的testing,看看oracle和Ms Sql之间的速度是如何的如下:用两百万条logging填充两个表,交叉连接它们,过滤一个范围,然后做一笔总和。 作为同胞的两个表结构: 创build表t( logging编号, 名称,varchar(50), num数字// – 随机 ) SQL如下所示: select总和(a.record) 从testing一个交叉连接testingb 其中a.num在50001和80000之间,b.num在80001和110000之间 不知何故,与sql相比,在oracle上运行的相同查询性能不佳。 在oracle上,时间大约在20s左右,但在Sql女士身上,结果会在1s内返回。 当我增加范围,oracle的时间降低,而sql仍然很好。 Oracle安装程序:红帽机器上的11g单实例Ms sql setup:2008在win7上 尝试关于oracles xe的声明,赢了7,结果也在20左右。 所有查询在单机上完成。 对oracle的声明应该写成不同的吗? 不知道有没有人可以提供一些见解? 谢谢
如何让Bind9停止回答特定types的查询,比如NULL,WKS或TXT? 提前致谢。
我不确定究竟是什么造成了这种情况,但偶尔有一个我知道必须返回结果的mysql查询有时会返回null。 我以前见过这种情况,但由于我在错误日志中找不到任何东西,我只是更新了一切,只是假定现在应该可以,但是最近我又看到了同样的错误。 是否有任何理由为什么Mysql会返回null作为结果即使查询应返回实际值? 目前我有点难倒,我最好的猜测可能是数据损坏? 在谷歌上找不到这个问题,所以我决定在为我的电脑购买新硬盘之前征求build议。 任何洞察力,你可以给我这个问题将不胜感激,谢谢!
我正在寻找工具,这将允许我从多个服务器聚合和查询事件日志。 在我的情况下,这是一个webfarm,我需要能够在一个地方查询所有的事件日志。 任何人都可以推荐这样的工具?
我只想从状态variables中获取值。 假设查询是 show status where Variable_name='Aborted_clients' 它返回 +—————–+——-+ | Variable_name | Value | +—————–+——-+ | Aborted_clients | 4 | +—————–+——-+ 从这里我只需要获取“值”列的值。 有没有办法 当我试图将这个查询作为子查询时,它是抛出错误。 我正在使用MySQL版本5.0.24。 而操作系统是Windows
我最近一直在追查一个客户的数据库…解决scheme的问题,但不可能重新创build。 本质上,我们正在做一个 Select * from mytable where ArbitraryColumn = 75 其中MyTable有一个名为“MyIndentityColumn”的标识列 – 在每个插入中增加一个。 当然,我通常会假定返回的顺序是它们被插入的顺序(错误的假设,但是通过inheritance的应用程序(已经被修补),这个假设被强加到我的头上)。 本质上,我想build议为什么当数据库恢复到我的本地机器(相同的操作系统,相同的SQL服务器版本 – 200 sp3)相同的sorting规则和相同的备份实例恢复它作为客户端站点上的testing数据库。 当我执行上面的select时,我按照插入的顺序(即标识列按顺序升序)得到它们。 在客户端,它似乎是随机的(但每次相同的“随机”顺序)… 其他几点: 我在客户端的testing服务器上使用相同的sorting规则 相同的数据库备份恢复到只有我可以访问的testing 相同的SQL服务器版本和服务包 同一操作系统 testing数据库是一个新的数据库 – 新的日志和MDF … 我已经通过添加一个明确的order by子句来解决问题,但是我想要解决问题的原因,因为我尝试重新创build它的确切性质是徒劳无益的,并且可以在客户端服务器上完美地重新调用。 提前致谢, 戴夫
我想知道你是否可以让Sql Server查看传入的查询string,并拒绝匹配某种模式的查询string。 换句话说,对于某种types的查询(可能用正则expression式来标识),我想知道Sql Server是否可以返回一个错误消息,而不是像往常一样处理它们。 为了更具体一些,并给出一个潜在的用例,请考虑一下Sql Injection攻击的描述 。 如果我的网站受到这些技术的持续攻击,如果修补网站看起来像一个漫长的过程,它会诱人(如果Sql允许它)试图得到一些临时的缓解,通过在Sql的基本上说 如果查询匹配正则expression式CAST(0x [0-9A-Za-z] {20,}则不执行它! 我的猜测是,如果这种过滤是可能的,那么这样做就需要编写一些定制的Sql Server插件DLL。 但是,也许你可以用Sql Server 2008的内置审计function做这样的事情? 我真的不知道,我不知道在文档中哪里是最好的地方开始寻找。 如果你想指出为什么数据库是一个愚蠢的地方,试图阻止SQL注入攻击,没关系。 但是我的主要问题不是在这个特定的用例中是否是一个好主意,而是这样的查询过滤/拒绝是否可能。
我正在寻找一种方法来执行从我的SSIS包中执行的主查询中的子查询。 所以当我执行包时,我希望能够在由主查询生成的everyline之后执行子查询,并将数据从主查询中的行传递到子查询。 这可能吗?
我正在调整SQL查询时间来查询缓慢的查询,但是每次我得到不同的时间,所以我无法评估我的优化解决scheme。 例如,我运行查询select * from abc where abc.status in (x,y,z) and abc.scale>123; 三次,我得到的结果时间像5s,11s,9s。 我已经closures了查询caching。 如何获得一个干净的沙箱来调整我的慢查询?
我有一个查询在服务器上执行需要15s。 服务器是bi-xeon 5130(2GHz),内置2GB内存和160GB scsi硬盘。 数据库是Debian 4 etch上的PostgreSQL 8.1。 这个查询是由一个ERP(openerp)执行的,所以我不能改变或修改它。 我可以testing它,因为我想要的,我可以重现很长一段时间,因为我想,我把它在日志文件中,并重现案件成pgadmin。 复制/粘贴到一个txt文件,简单的查询需要存储170Kb(只是文本查询)。 在执行期间,linux(通过'top'命令行)告诉我postgres使用99-100%的CPU,但只有6%的RAM。 那么,如何提高postgres的性能来获得这个查询执行的时间。 某个地方的参数? 在Postgres? 在Linux? 查询是这样的: SELECT id FROM sale_order_line WHERE (state IN ('confirmed', 'confirmed_wait', 'manquant')) AND (id IN (27405, 27399, 16583, 27395, XXX)) ORDER BY id DESC LIMIT 50; [将XXXreplace为20000的ID列表! ] 是的,这是一个怪物查询,但不是一个复杂的,其实很简单。 感谢帮助。 我search了很长时间(2周已经…)