我有一个简单的计数查询,可以使用仅索引扫描,但在 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
我已经阅读了很多关于抽象工厂和工厂方法之间不同的帖子,但是有一个我无法理解的问题.
两者之间的一个区别是,使用抽象工厂模式,类通过组合将对象实例化的责任委托给另一个对象,而工厂方法模式使用继承并依赖子类来处理所需的对象实例化
也许我知道为什么抽象工厂模式使用组合和委托创建对象,但我无法理解为什么工厂方法模式使用继承来创建具体的类对象.
sql ×1