小编Rey*_*Rey的帖子

为什么即使使用仅索引扫描,PostgresQL 计数也如此缓慢

我有一个简单的计数查询,可以使用仅索引扫描,但在 PostgresQL 中仍然需要很长时间!

我有一个cars包含 2 列的表,type bigint并且active boolean这些列上还有一个多列索引

CREATE TABLE cars
(
id BIGSERIAL NOT NULL
    CONSTRAINT cars_pkey PRIMARY KEY ,
type BIGINT NOT NULL ,
name VARCHAR(500) NOT NULL ,
active            BOOLEAN DEFAULT TRUE NOT NULL,
created_at        TIMESTAMP(0) WITH TIME ZONE default NOW(),
updated_at        TIMESTAMP(0) WITH TIME ZONE default NOW(),
deleted_at        TIMESTAMP(0) WITH TIME ZONE
);
CREATE INDEX cars_type_active_index ON cars(type, active);
Run Code Online (Sandbox Code Playgroud)

我插入了一些有 950k 条记录的测试数据,type=1 有 600k 条记录

INSERT INTO cars (type, name) …
Run Code Online (Sandbox Code Playgroud)

sql covering-index query-performance database-indexes postgresql-9.5

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

抽象工厂与工厂方法:构成与实力?

我已经阅读了很多关于抽象工厂和工厂方法之间不同的帖子,但是有一个我无法理解的问题.

两者之间的一个区别是,使用抽象工厂模式,类通过组合将对象实例化的责任委托给另一个对象,而工厂方法模式使用继承并依赖子类来处理所需的对象实例化

也许我知道为什么抽象工厂模式使用组合和委托创建对象,但我无法理解为什么工厂方法模式使用继承来创建具体的类对象.

design-patterns factory-method abstract-factory

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