标签: database

从PostgreSQL中的时间戳中提取日期的最有效方法是什么?

查询表格

select * from foo
where created_on::date = '2014/1/1'
Run Code Online (Sandbox Code Playgroud)

要么

select * from foo
where date_trunc('day', created_on) = '2014/1/1'
Run Code Online (Sandbox Code Playgroud)

要么

select * from foo
where date(created_on) = '2014/1/1'
Run Code Online (Sandbox Code Playgroud)

在什么条件下,不同的查询会表现得更好/更差?哪三个选项中效率最高?

sql database postgresql performance

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

BoneCP和Hibernate

我目前正在将BoneCP集成到一个具有Hibernate的现有项目中,当我阅读BoneCP的手册时,我发现了这个:

如果您在Hibernate中直接使用此库(即没有DataSource,不推荐)

我开始想知道为什么会这样?有人可以向我解释为什么在Hibernate中直接使用BoneCP是不好的?

java database hibernate datasource bonecp

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

同步两个或多个SQL Server 2012数据库

我正在研究SQL Server 2012,我的要求是同步两个或多个存在于不同服务器或位置的数据库.

当我们右键单击数据库名称时,我通过使用synchronized选项出现了这个问题.

但是没有得到任何SQL Server 2012的解决方案.

database sql-server sql-server-2012

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

ObjectContext的实体框架和线程安全性

假设我们有一些ObjectContext(通过Entity Framework EDMX)和一些实体.从单个线程从DataBase完全加载的实体.只有在加载实体之后,我们才会启动一些线程,这些线程只会读取实体中的数据,并且没有对DataBase的查询.它是线程安全的操作吗?

c# database multithreading entity-framework thread-safety

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

ER Diagram中的mysql workbench列图标是什么意思?

任何人都可以帮我解释MySQL Workbench中创建的数据库ER图中的图标.

X

  • 蓝钻石(已填充);
  • 蓝钻(未填充);
  • 红钻等等;
    谢谢!

database icons er-diagrams mysql-workbench

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

休眠问题:必须出现在GROUP BY子句中或在聚合函数中使用

我要运行的查询:

SELECT date_trunc('month',UA.activity_date),SUM(UA.points) FROM user_activity UA
WHERE UA.activity_date > '01/01/2014' AND UA.activity_date < '12/31/2014' 
GROUP BY date_trunc('month',UA.activity_date)
ORDER BY date_trunc('month',UA.activity_date)
Run Code Online (Sandbox Code Playgroud)

预期成绩:

03/01/2014 00:00:00 66.04000000000000000
05/01/2014 00:00:00 13.50000000000000000
07/01/2014 00:00:00 27.00000000000000000
08/01/2014 00:00:00 26.00000000000000000
09/01/2014 00:00:00 13.50000000000000000
Run Code Online (Sandbox Code Playgroud)

当我使用Hibernate运行该查询时,出现此错误:

ERROR: column "useractivi0_.activity_date" must appear in the GROUP BY clause or be used in an aggregate function
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我将上面的查询修改为:

SELECT date_trunc('month',UA.activity_date),SUM(UA.points) FROM user_activity UA
WHERE UA.activity_date > '01/01/2014' AND UA.activity_date < '12/31/2014' 
GROUP BY date_trunc('month',UA.activity_date),***UA.activity_date***
ORDER BY date_trunc('month',UA.activity_date)
Run Code Online (Sandbox Code Playgroud)

但是,结果是错误的:

03/01/2014 00:00:00 25.40000000000000200
03/01/2014 00:00:00 …
Run Code Online (Sandbox Code Playgroud)

java sql database postgresql hibernate

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

MYSQL选择where字段不包含某个字符串字符

我使用sql从表中选择我的所有站点URL.

$sql = 'select * from pages where "myURL field";
Run Code Online (Sandbox Code Playgroud)

但是我希望对我的查询更具体一些.我的表中有一些重复的链接,例如:

about-us
./about-us
Run Code Online (Sandbox Code Playgroud)

我不希望./about us选择该字段.有没有办法说:

select * where "myURL field" does not begin with . /
Run Code Online (Sandbox Code Playgroud)

或者我应该忘记它并使用PHP解析?

php mysql database sitemap dynamic

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

命名mysql列有哪些规则?

在MySQL表中,命名列,我可以使用

  • 空间
  • 大写字母
  • UTF8字符

我还应遵循哪些其他规则?

(MySQL5)

mysql database mysql5 restriction

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

CEILING返回FLOOR结果 - SQL SERVER 2008 R2

DECLARE @a int;
DECLARE @b int;

SET @a = 9;
SET @b = 2;

SELECT CEILING (@a/@b);
Run Code Online (Sandbox Code Playgroud)

它返回4而不是5.为什么?

编辑:如果商不是整数,我想获得下一个最小整数.

sql database floor sql-server-2008 ceil

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

Celerybeat计划多次执行任务?

我有一个任务calculate_common_locations,它运行一次CELERYBEAT_SCHEDULE.该任务只是调用数据库中的函数:

@app.task
def calculate_common_locations():
    db.execute("SELECT * FROM calculate_centroids('b')")
Run Code Online (Sandbox Code Playgroud)

这是条目CELERYBEAT_SCHEDULE:

CELERYBEAT_SCHEDULE = {
   'common_locations': {
        'task': 'clients.tasks.calculate_common_locations',
        'schedule': crontab(hour=23, day_of_week='sun'), #every week
    },
    [..]
}
Run Code Online (Sandbox Code Playgroud)

该计划包括每天运行一次每10秒运行一次的更多任务.这些任务似乎没有多次重新运行.芹菜花显示任务执行超过20次.第一个按计划启动,运行约100秒,成功然后再次启动.

在此输入图像描述

只有一个celerybeat运行:

ps -Af | grep celerybeat 
foo     24359   779  0 01:53 ?        00:00:04 [celeryd: celery@celery:MainProcess] -active- (worker --beat --app=cloud.celeryapp:app --concurrency=10 -l INFO -s /home/foo/run/celerybeat-schedule --pidfile=/home/foo/run/celerybeat.pid)         
Run Code Online (Sandbox Code Playgroud)

这就是芹菜的开始方式(通过supervisord):

celery worker --beat --app=cloud.celery app:app --concurrency=10 -l INFO -s /home/foo/run/celerybeat-schedule --pidfile=/home/foo/run/celerybeat.pid
Run Code Online (Sandbox Code Playgroud)

我没有使用--concurrency = 10 …

python database django celery celerybeat

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