小编sal*_*the的帖子

优化多个连接

我正在试图找到一种方法来加速一个特别麻烦的查询,该查询在几个表中按日期聚合一些数据.下面的完整(丑陋)查询以及EXPLAIN ANALYZE显示它有多可怕.

如果有人可以偷看,看看他们是否能发现任何重大问题(很可能,我不是Postgres的人),这将是一流的.

所以这里.查询是:

SELECT 
 to_char(p.period, 'DD/MM/YY') as period,
 coalesce(o.value, 0) AS outbound,
 coalesce(i.value, 0) AS inbound
FROM (
 SELECT
  date '2009-10-01' + s.day 
  AS period 
  FROM generate_series(0, date '2009-10-31' - date '2009-10-01') AS s(day)
) AS p 
LEFT OUTER JOIN(
 SELECT
  SUM(b.body_size) AS value, 
  b.body_time::date AS period 
 FROM body AS b 
 LEFT JOIN 
  envelope e ON e.message_id = b.message_id 
 WHERE 
  e.envelope_command = 1 
  AND b.body_time BETWEEN '2009-10-01' 
  AND (date '2009-10-31' + INTERVAL '1 DAY') 
 GROUP BY period …
Run Code Online (Sandbox Code Playgroud)

sql postgresql optimization join

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

Github API - 作者提交

我想知道是否可以使用GitHub的API 1来检索给定作者的提交列表(对于特定的存储库,分支).可以获取最近提交到存储库和分支的提交(例如,mojombo的grit存储库的JSON格式的主分支:http://github.com/api/v2/json/commits/list/mojombo/grit/master )但我想知道是否有可能通过作者对此进行过滤(希望它只是我在文档中遗漏的内容或可用但未记录的内容).

那么,有没有人知道是否存在像http://github.com/api/v2/:format/commits/list/mojombo/grit/master /这样的东西:authorname(这显然不起作用).我也对自己(通过git命令)生成这样一个列表的建议持开放态度.有任何想法吗?

[1] http://develop.github.com/

github

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

帮助glob模式

如果有人能给我一个用于获取低于文件名的glob的正则表达式模式,那将是很好的:

1.jpg // this file
1_thumb.jpg
2.png // this file
2_thumb.png
etc...
Run Code Online (Sandbox Code Playgroud)

没有"_thumb"返回文件.我有这种模式:

$numericalFiles = glob("$this->path/*_thumb.*");
Run Code Online (Sandbox Code Playgroud)

这给了我所有的"_thumb".

php glob

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

减少数组和SplFixedArray的内存使用量

我在array()和之间做了一些基准测试SplFixedArray(),我遇到了奇怪的行为.首先,看看我的简单测试(它实际上只是来自互联网的编辑版本,抱歉,我现在找不到原始资源):

function formatMemoryUsage($usage) {
   $unit = array(' B', 'kB', 'MB', 'GB', 'TB');
   $factor = floor((strlen($usage) - 1) / 3);

   return sprintf('%.2f %s (%d bytes) ', $usage / pow(1024, $factor), $unit[$factor], $usage);
}

for($size = 1000; $size < 100000; $size *= 2) { 
   echo PHP_EOL . '> Testing size: ' . number_format($size) . PHP_EOL; 
   echo '   Array()' . PHP_EOL;

   for($s = microtime(true), $m = memory_get_usage(true), $container = Array(), $i = 0; $i < $size; $i++) $container[$i] = …
Run Code Online (Sandbox Code Playgroud)

php arrays memory-management

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

Regexp:如何匹配不属于模式的每一个东西?

我想匹配一个与给定模式匹配的字符串中的所有内容; 例如[a-z].

鉴于字符串abc4jkf8 4à3in,我需要匹配48 4à3.

我试过([a-z])+(?![a-z])但这与我需要的完全相反.使用上面的字符串,此正则表达式匹配abcjkfin.

有任何想法吗?

php regex

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

Javascript:具有键值替代的多维数组?

因为我对php更精通php感谢js我会尝试从php的角度解释我需要什么.我需要传递一个javascript函数数组:

array('fieldname' => 'value', 'fieldname2' => 'value2' ...);
Run Code Online (Sandbox Code Playgroud)

该功能可以做到这一点

foreach(array as k => v) {
  <input name='fieldname' value='value'/>
  <input name='fieldname2' value='value2'/>
  ...
}
Run Code Online (Sandbox Code Playgroud)

我不知道怎么做,我明白js没有多维数组,所以我想知道在javascript中这样做的正确方法是什么?

ps我明白有一个库可以为js提供php函数,但我想学习在纯js中执行此操作的最佳实践.

非常感谢你

javascript arrays

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

在字符串中查找电话号码

在PHP中,我正在搜索特定文本中的语音.我explode()用来分隔不同部分的文本,使用我正在搜索的城市的区号作为分隔符.问题是包含区号相同数字的phonenumbers 不能很好地返回.

例如:

"foofoo 010-1234567 barbar"分裂成"foofoo ""-1234567 barbar"

"foofoo 010-1230107 barbar"分裂成"foofoo ","-123""7 barbar"!

我可以使用第一个用areacode重建phonenummer,但第二个当然错了...

我想我需要一个正则表达式来分割文本,使用某种机制分裂在短字符串上,而不是explode(),但我不知道该怎么做.

在文本中搜索phonenumbers的任何想法或更好的方法?

更新: 格式不一致,因此寻找连字符是没有解决方案的.有些电话号码在区号和号码之间有空格,有些有挂钩,有些没有,等等.荷兰语的电话号码有2,3或4个号码,通常总共10个号码.

php split explode

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

如何检查文件是否存在(数字).php?

假设我在文件夹中包含所有这些文件:

something(34324).php
something(34).php
something(3433454546).php
something(65565).php
something(9887).php
something(4585).php // ect ect
Run Code Online (Sandbox Code Playgroud)

现在我需要以某种方式检查是否something.php存在任何文件(忽略该数字).

所以如果something(a_number).php存在于文件夹中,则返回true ...

关于我如何做这样的事情的任何想法?

php file file-exists

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

如何使用:: setMaxDepth for RecursiveIteratorIterator?

我正在使用这个脚本,但我想指定递归函数的最大深度.我不知道如何使用它,我总是得到一个错误.我该如何在这里使用:: setMaxDepth

public function countFiles($path)
{ 
global $file_count;
$depth=0;
$ite=new RecursiveDirectoryIterator($path);

$file_count=0;
foreach (new RecursiveIteratorIterator($ite) as $filename=>$cur) :
    $file_count++;
    $files[] = $filename;
endforeach;

return $file_count;
}
Run Code Online (Sandbox Code Playgroud)

php recursion spl

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

strtotime('midnight')导致00:05:00

我目前正在根据位置开/关时间开发日期/时间选择器.迭代一周中的每一天,每个小时开始于一周中每天午夜的时间戳.以下逻辑导致添加5分钟

print_r(strtotime('midnight'));
Run Code Online (Sandbox Code Playgroud)

结果:

stdClass Object(
    [Sunday] => stdClass Object
        (
            [datetime] => stdClass Object
                (
                    [mdnt] => 2014-05-22 00:05:00
Run Code Online (Sandbox Code Playgroud)

每周的每一天都要重复冲洗.

我的TZ是+5 GMT.如果有什么我期望的小时位置增加,而不是秒.

所以问题是:5:00分钟从哪里来?

php strtotime

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