Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用主键在MariaDb ColumnStore服务器中执行非常缓慢的删除/更新_Sql_Database_Mariadb - Fatal编程技术网

Sql 使用主键在MariaDb ColumnStore服务器中执行非常缓慢的删除/更新

Sql 使用主键在MariaDb ColumnStore服务器中执行非常缓慢的删除/更新,sql,database,mariadb,Sql,Database,Mariadb,我们有一个带有InnoDB引擎的表(在MariaDB columnstore服务器上),它有500万行,主键有2列。DDL: CREATE TABLE `interest` ( `src_id` TINYINT NOT NULL, `id` binary(36) NOT NULL, `account_id` bigint(20) NOT NULL, `instrument_id` int(11) NOT NULL, `quantity` decimal(15,4) NOT N

我们有一个带有InnoDB引擎的表(在MariaDB columnstore服务器上),它有500万行,主键有2列。DDL:

CREATE TABLE `interest` (
  `src_id` TINYINT NOT NULL,
  `id` binary(36) NOT NULL,
  `account_id` bigint(20) NOT NULL,
  `instrument_id` int(11) NOT NULL,
  `quantity` decimal(15,4) NOT NULL,
  `time` datetime NOT NULL,
  `interest` decimal(16,2) NOT NULL,
  `auto_incr` bigint(20) NOT NULL ,
  PRIMARY KEY (`src_id`, `id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
这两个查询都需要4-5秒来执行

DELETE FROM interest WHERE `id`='52f35ddb-94d0-4744-bb3c-f3ae8100dc8e' AND `src_id`='1';

UPDATE interest SET interest = 1 WHERE `id`='52f35ddb-94d0-4744-bb3c-f3ae8100dc8e' AND `src_id`='1';
解释的结果是:

EXPLAIN EXTENDED DELETE FROM interest WHERE `id`='52f35ddb-94d0-4744-bb3c-f3ae8100dc8e' AND `src_id`='1';

看起来主键没有生效,因为它扫描了超过50%的行

我从这个表中导出了数据(在MariaDB columnstore服务器中),并将其导入到普通MariaDB服务器中的表中,而不存在这样的问题。两个查询都在10毫秒以下执行


我们使用的是最新版本的MariaDB columnstore:1.2.5

columnstore使用稍微定制的MDB版本,在某些地方,自定义代码会更改优化器设置,但这仅适用于具有CS表的查询。JFYI Enterprise 10.4和community 10.5将使用Columnstore作为非定制MDB版本的普通引擎。

我迷路了——首先你谈论InnoDB,然后你说你正在使用Columnstore。是哪一行?InnoDB事实表中有5万行,ColumnStore摘要表中有3.6万行?或者…??MariaDB有2台服务器():MariaDB服务器,MariaDB列存储服务器。MariaDB columnstore服务器同时支持InnoDB和columnstore表引擎(以下是混淆,因为表引擎与db服务器同名)。我在MariaDB columnstore服务器上的InnoDB事实表中有500万行(您可以看到我的DDL,我明确定义了表引擎)。这个InnoDB表的DELETE和UPDATE查询都是slowI更新的我的问题,并试图让它更清楚。试着再读一遍,如果仍然让人困惑,请告诉我再次尝试更新:)好的,“columnstore”是一个“红鲱鱼”。我感到困惑。您的问题完全是关于对InnoDB的缓慢查询。(到目前为止,我感到困惑。)