问题列表 - 第21754页

在两列上使用COUNT和GROUP BY进行极慢的SQL查询

我正在存档这个网络论坛,通常每周清理一次.所以我屏幕抓取它,并将其存储到我的数据库(PostgreSQL).

我还对数据进行了一些分析,其中有一些图表供用户欣赏,比如论坛最活跃的时间,等等.

所以我有一个帖子表,如下:

   Column   |            Type
------------+------------------------------
 id         | integer
 body       | text
 created_at | timestamp without time zone
 topic_id   | integer
 user_name  | text
 user_id    | integer
Run Code Online (Sandbox Code Playgroud)

我现在想要为每个用户提供一个帖子计数,用于我的小十大海报表.

我想出了这个:

SELECT user_id, user_name, count(*)
FROM posts
GROUP BY user_id, user_name
ORDER BY count DESC LIMIT 10
Run Code Online (Sandbox Code Playgroud)

结果证明非常慢.9秒,目前在帖子表中只有大约30万行.

如果我只分组一列,它只需要半秒钟,但我需要两个.

我对关系数据库和SQL很新,所以我不太确定这是不对的,或者我怎么做错了?

sql database rdbms relational

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

UIWebView:你能禁用Javascript吗?

您可以在移动Safari和Cocoa的WebView中禁用Javascript,但我看不到这样做的方法UIWebView.

我对么?

关于获取UIWebView使用Javascript中显示的页面标题,我询问了这个问题.我担心如果Javascript被禁用会失败,但似乎API不允许禁用Javascript.

如果Javascript无法停用UIWebView,则会使我之前的问题无法解决.

javascript iphone uiwebview

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

使用Threads和ListView的c#中的一个问题

我有一个文本过滤器,在TextChanged事件中我以这种方式启动listview填充代码:

ThreadPool.QueueUserWorkItem(new WaitCallback(populate));
Run Code Online (Sandbox Code Playgroud)

然后在populate方法中我有这样的代码

listView1.BeginUpdate();
listView1.Clear();

// rest of the code

listView1.EndUpdate();
Run Code Online (Sandbox Code Playgroud)

但listView1.BeginUpdate()调用给出以下异常:

System.NotSupportedException was unhandled
  Message="An error message cannot be displayed because an optional resource assembly containing it cannot be found"
  StackTrace:
    at Microsoft.AGL.Common.MISC.HandleAr()
    at System.Windows.Forms.ListView.ntvSetStyleEx()
    at System.Windows.Forms.ListView.BeginUpdate()
    at App.frmSelectClient.populate()
    at WorkItem.doWork()
    at System.Threading.Timer.ring()
  InnerException: 
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

我想在后台线程中发出ListView的填充.

c# mobile multithreading listview compact-framework

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

在Zend表单中使用HTML实体选择

我正在填充Select表单元素,如果我尝试在值中使用HTML实体,它将被转换,而不是显示特殊字符.

这段代码:

$form->field_name->addMultiOption('value', ' • label');
Run Code Online (Sandbox Code Playgroud)

呈现:

<option value="one">&amp;nbsp;&amp;bull; label</option>
Run Code Online (Sandbox Code Playgroud)

但我希望它是:

<option value="one">&nbsp;&bull; label</option>
Run Code Online (Sandbox Code Playgroud)

我如何在这里使用HTML实体?


暗示?

我在代码中挖了一下,发现它正在使用escape()标签上的Zend View Abstract中的函数值.也许有人知道如何为特定的表单元素覆盖/重载此函数?我不想默认覆盖该行为.

来自Zend_View_Helper_FormSelect班级的功能

protected function _build($value, $label, $selected, $disable)
{
    if (is_bool($disable)) {
        $disable = array();
    }

    $opt = '<option'
         . ' value="' . $this->view->escape($value) . '"'
         . ' label="' . $this->view->escape($label) . '"';

    // selected?
    if (in_array((string) $value, $selected)) {
        $opt .= ' selected="selected"';
    }

    // disabled?
    if (in_array($value, $disable)) {
        $opt .= ' disabled="disabled"';
    }

    $opt …
Run Code Online (Sandbox Code Playgroud)

php zend-framework zend-form html-entities

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

如何在使用之前测试变量是否已初始化?

因此,假设您有一个带变量的应用程序,您将在独立加载它时(即使用时if __name__ == '__main__')创建一个实例.

此外,还有一种方法可在客户端导入应用程序以在另一个应用程序中使用时调用.此方法还将实例化此变量.

我想要做的是测试变量是否在定义之前已经被实例化(因此我不必经历两次对象的创建).我的直觉告诉我使用,if SOME_VARIABLE is not None: #instantiate here但这会产生错误

赋值前引用的局部变量'SOME_VARIABLE'

是什么赋予了?

python

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

字符串到ruby中的方法/函数调用?

我想让我的rails控制器更灵活,并尝试为它创建一些Meta foo.

我有redirect_to方法的问题.我可以从字符串转换"edit_admin_post_path()"方法或更好地读出控制器名称并动态传递它吗?

这是我的Admin :: Posts控制器中的"post"代码.

respond_to do |format|
  format.html { redirect_to(edit_admin_post_path(@object)) }
end
Run Code Online (Sandbox Code Playgroud)

谢谢!

ruby metaprogramming ruby-on-rails

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

如何处理跨浏览器的HTML 5音频中的不兼容性?

我需要使用HTML 5音频来播放声音.但是,编解码器支持非常恼人:

  • Firefox:Ogg,Wav
  • Safari:Mp3,Wav
  • Chrome:Ogg,Mp3
  • 歌剧:Wav

我基本上需要在Wav和Ogg/Mp3中编码.然而,Wav的大小非常糟糕,这对我来说非常重要.所以,我想我应该去Mp3 + Ogg离开Opera和IE了吗?

audio html5 codec

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

JQUERY UI模态教程

任何人都可以提供一个如何使用JQUERY的UI模式对话框的简洁示例.令人惊讶的是,它并不像你想象的那么简单.

目标:

  1. 单击元素会加载模态

  2. 模态显示"正在加载..."然后进行ajax调用以获取模态的内容

  3. 可以通过单击关闭btn或按下escape来关闭模态

  4. 模态可以重新打开,当它重新打开时,它不会显示先前模态交互的状态.

谢谢!

这是我目前正在做的事情,但它的工作非常笨拙,似乎根本不像一个聪明的解决方案.想法?

var $dialog = $('<div id="sharerdialog"></div>')
.html('<p>Loading...</p>')
.dialog({
    autoOpen: false,
    title: 'Share the item',
    position: ['center',150],
    width: 450,
    focus:function(event, ui) {
        $('#dialogcloser').click(function() {
            $dialog.dialog('close');
        });
    }, 
    open: function(event, ui) {
        var title2use = document.title;
        title2use = escape(title2use);          
        $("#sharerdialog").load("/items/ajax/share/index_beta.cfm?itemid=#itemID#&itemtitle=" + title2use);
    }
});
// Bind the Share btn to Open the Modal
$('#itemshare').click(function() {
    $dialog.dialog('open');
});
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui modal-dialog

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

Django检查JavaScript是否打开

Django(最好是在视图中)是否有办法检查用户是否启用了JavaScript?

如果用户拥有JavaScript,我需要显示一个非常不同的页面.

谢谢

javascript django

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

初始化模板内部类的静态成员

我在类模板中初始化静态成员所需的语法有问题.这是代码(我试图尽可能地减少它):

template <typename T>
struct A
{
  template <typename T1>
  struct B
  {
    static T1 b;
  };

  B<T> b;
  typedef B<T> BT;
  T val() { return b.b; }
};

template <typename T>
T A<T>::BT::b;

struct D
{
  D() : d(0) {}
  int d;
};

int main()
{
  A<D> a;
  return a.val().d;
}
Run Code Online (Sandbox Code Playgroud)

有了g++,我得到的错误是:

error: too few template-parameter-lists
Run Code Online (Sandbox Code Playgroud)

有任何想法如何初始化b?

请注意,我想保留typedef,就像在我的真实代码中一样,B比这更复杂.

c++ static templates initialization

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