$curl->tick()
в любом случае будет ожидать окончания всех асинхронных запросов? while ($p->getState() === 'pending')
fastcgi_finish_request
, но не подходит tick
? (s1/s - p1), (s2/s - p2), (s3/s - p3)
? [
{
"id": 1,
"select_type": "SIMPLE",
"table": "company_settings",
"partitions": null,
"type": "ref",
"possible_keys": "location,location_company",
"key": "location_company",
"key_len": "5",
"ref": "const",
"rows": 4,
"filtered": 100,
"Extra": "Using where; Using index; Using temporary; Using filesort"
},
{
"id": 1,
"select_type": "SIMPLE",
"table": "companies",
"partitions": null,
"type": "eq_ref",
"possible_keys": "PRIMARY",
"key": "PRIMARY",
"key_len": "4",
"ref": "company_settings.COMPANY_ID",
"rows": 1,
"filtered": 100,
"Extra": "Using where"
}
]
[
{
"id": 1,
"select_type": "SIMPLE",
"table": "company_settings",
"partitions": null,
"type": "ref",
"possible_keys": "location",
"key": "location",
"key_len": "5",
"ref": "const",
"rows": 4,
"filtered": 100,
"Extra": "Using where; Using temporary; Using filesort"
},
{
"id": 1,
"select_type": "SIMPLE",
"table": "companies",
"partitions": null,
"type": "eq_ref",
"possible_keys": "PRIMARY",
"key": "PRIMARY",
"key_len": "4",
"ref": "company_settings.COMPANY_ID",
"rows": 1,
"filtered": 100,
"Extra": "Using where"
}
]
[
{
"id": 1,
"select_type": "SIMPLE",
"table": "companies_settings",
"partitions": null,
"type": "ALL",
"possible_keys": null,
"key": null,
"key_len": null,
"ref": null,
"rows": 213950,
"filtered": 100,
"Extra": "Using where; Using temporary; Using filesort"
},
{
"id": 1,
"select_type": "SIMPLE",
"table": "companies",
"partitions": null,
"type": "eq_ref",
"possible_keys": "PRIMARY,wow_two_columns",
"key": "PRIMARY",
"key_len": "4",
"ref": "companies_settings.company_id",
"rows": 1,
"filtered": 100,
"Extra": "Using where"
}
]
AbstactEntityFactory::get
. Объявил фабричный метод для создания коллекции AbstactEntityFactory::createEntityCollection
. Правильно понял?$bar
и $foo
, которые соответствуют одноименным сущностям из листинга кода в моем вопросе. Отдельный класс нужен для маппинга этих сущностей. Чтобы из массива получить сущность, которая включает в себя другие связанные сущности. По крайней мере, мне кажется, что он нужен. Предложите вариант лучше?$this->dataMapper->map
? Соответственно DataMapper::map
имеет public область видимости.$fooRepository = new FooRepository(
new FooDataManager(),
new FooDataMapper(new FooFactory())
);
// внутри репозитория
$row = $this->dataManager::query()->fetch();
$foo = $this->dataMapper->map($row);
Задал вопрос после прочтения этого: "оператор устанавливает блокировку совместного доступа на запись дублирующегося индекса". Сможете раскрыть в каком случае устанавливается shared, а не exclusive в этом примере?
www.mysql.ru/docs/man/InnoDB_Locks_set.html