小编Ali*_*eza的帖子

单个 PostgreSQL 查询可以使用多个内核吗?

在最新版本的 PostgreSQL 中(截至 2013 年 12 月),我们能否在两个或多个内核之间共享查询以提高性能?还是我们应该获得更快的内核?

postgresql performance parallelism query-performance

64
推荐指数
3
解决办法
7万
查看次数

如何根据另一个表的值动态更新一个表?

我有一个名为 ips 的表,如下所示:

CREATE TABLE `ips` (
 `id` int(10) unsigned NOT NULL DEFAULT '0',
 `begin_ip_num` int(11) unsigned DEFAULT NULL,
 `end_ip_num` int(11) unsigned DEFAULT NULL,
 `iso` varchar(3) DEFAULT NULL,
 `country` varchar(150) DEFAULT NULL
) ENGINE=InnoDB
Run Code Online (Sandbox Code Playgroud)

假设我countryid在国家/地区表中的此表上有一个字段,如下所示:

CREATE TABLE `country` (
 `countryid` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
 `ordering` smallint(5) unsigned NOT NULL DEFAULT '0',
 `iso` char(2) NOT NULL,
 PRIMARY KEY (`countryid`)
) ENGINE=InnoDB
Run Code Online (Sandbox Code Playgroud)

ips 表中大约有 100,000 条记录。是否有以下情况的查询:
检查是否ips.iso等于country.iso …

mysql update

48
推荐指数
4
解决办法
33万
查看次数

为什么在解释查询中阅读 const 表后我会注意到“不可能的地方”?

我在表中有一个像 fr(fromid,toid) 这样的唯一复合键,当我使用解释运行查询时,我得到以下结果:

Impossible WHERE noticed after reading const tables`
Run Code Online (Sandbox Code Playgroud)

我运行的查询:

explain SELECT rid FROM relationship WHERE fromid=78 AND toid=60   
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?

EDIT1:
当我使用以下查询时:

explain SELECT rid FROM relationship WHERE fromid=60 and toid=78 AND is_approved='s'  OR is_approved='f' OR is_approved='t'
Run Code Online (Sandbox Code Playgroud)

我看到的USING WHERE不是之前的消息,但是当我使用以下查询时:

explain SELECT rid FROM relationship WHERE fromid=60 and toid=78 AND (is_approved='s'  OR is_approved='f' OR is_approved='t')  
Run Code Online (Sandbox Code Playgroud)

我再次收到第一条impossible ...消息!这些括号在这里做什么?

编辑2:

CREATE TABLE `relationship` (
 `rid` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `fromid` mediumint(8) unsigned NOT NULL,
 `toid` mediumint(8) unsigned …
Run Code Online (Sandbox Code Playgroud)

mysql explain

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

检查约束不起作用?

我有下表。

create table test (
   id smallint unsigned AUTO_INCREMENT,
   age tinyint not null,
   primary key(id),
   check (age<20)
);
Run Code Online (Sandbox Code Playgroud)

问题是CHECK约束不适用于年龄列。例如,当我为年龄字段插入 222 时,MySQL 接受它。

mysql constraint

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

为什么“LOAD DATA INFILE”比普通的 INSERT 语句快?

我读过一篇文章,提到我们可以通过使用该语句实现每秒 60,000 次插入,该LOAD DATA IN FILE语句从 csv 文件中读取并将数据插入到数据库中。

为什么它应该与普通刀片不同?

编辑:
我通过只调用一个INSERT语句来减少往返:

INSERT INTO tblname
VALUES (NULL,2,'some text here0'),(NULL,2,'some text here1')
    ,(NULL,2,'some text here2'),(NULL,2,'some text here3')
    .....,(NULL,2,'some text here3000');
Run Code Online (Sandbox Code Playgroud)

那这个呢?

mysql bulk import

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

mongoDB 投影如何影响性能?

MongoDB文档中提到:

当您只需要文档中的一部分字段时,您可以通过只返回您需要的字段来获得更好的性能

过滤字段如何影响性能?性能是否与通过网络传输的数据大小有关?或将保存在内存中的数据大小?这种性能究竟是如何提高的?文档中提到的这种性能是什么?

我的 MongoDB 查询速度很慢。返回子集是否会影响我的慢查询(我在该字段上有复合索引)?

mongodb projection

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

我必须购买 MySQL 许可证吗?

我在论坛上读到如果你的数据库容量超过1G,你应该购买它的许可证。这是真的?它要花多少钱?

mysql license

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

出于身份验证目的拆分“用户”表是个好主意吗?

假设我的站点中有一个用户表,其中表中有大约 2-3 百万个用户(记录)。

为了加快我的登录过程,拆分我的用户表是否是一种好方法,一个用于他们的信息,另一个用于他们的登录。

如果我们可以从一张表中运行类似于下面的查询:

select username,password from users where username=`test` AND password=****
Run Code Online (Sandbox Code Playgroud)

是否有必要拆分它,这是否会加快我网站的登录过程?

mysql mysql-5 authentication

8
推荐指数
2
解决办法
1811
查看次数

有没有办法在共享主机中找到 my.cnf?

我很好奇有没有办法在共享主机中找到 my.cnf 或者这个文件只能由 DBA 配置而没有人可以设置他/她自己的设置?

mysql mysql-5

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

加入并返回数据时如何从表中删除行?

我有两个疑问:

第一个如下:

SELECT * 
FROM batch bp 
  INNER JOIN sender_log sl ON sl.id=bp.log_id 
    AND bp.protocol='someprotocol'
Run Code Online (Sandbox Code Playgroud)

第二个查询用于删除行:

delete from batch where protocol='someprotocol'
Run Code Online (Sandbox Code Playgroud)

我知道在 postgres 中我们有RETURNING *来返回已删除的行。我想要实现的是删除行并在一个查询中返回它们。我怎样才能做到这一点?

postgresql join delete select

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