[RFC]: Sql Statement Query Caching
Mantenedores costumam responder em até 2 dias
@simon-mundy já está trabalhando nisso.
Desde 9/1/2026.
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Proposed Version
0.6.0
Basic Information
PhpDb manually compiles each Select query for every single query, creating unnecessary overhead when a query itself will not change based on adapter/platform.
The intention of this proposal is to allow a caching mechanism which would determine if a Statement uses a Parameter Container and if so, store the compiled query in a cache that is user-determined. This still allows the database driver to correctly quote/execute data without needing to cache-bust regularly.
Background
No response
Considerations
No response
Proposal(s)
Sample pseudo code:-
$select->from('foo')->where([
'c1' => null,
'c2' => [1, 2, 3],
new \Laminas\Db\Sql\Predicate\IsNotNull('c3'),
]);
// Cached string is 'SELECT "foo".* FROM "foo" WHERE "c1" IS NULL AND "c2" IN (?, ?, ?) AND "c3" IS NOT NULL'
$statement = $sql->prepareStatementForSqlObject($select, $storage); // where $storage is a PSR-6 compliant storage wrapper
$results = $statement->execute(); // Statement will use pre-prepared SQL string based on driver/adapter/platform
Appendix/Additional Info
No response
- Linguagem predominante
- PHP
- Estrelas
- 18
- Forks
- 8
- Merge médio
- 2d 14h
- PRs com merge (30d)
- 26
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de php-db/phpdb
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 2 dias
-
RFC
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 2 dias
-
RFC
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 38/100
Mantenedores costumam responder em até 2 dias
-
RFC
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 2 dias
-
RFC
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
Mantenedores costumam responder em até 2 dias
Todas as issues de php-db/phpdb
Issues semelhantes
-
sync-en
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
sync-en
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 4 dias
-
Перевод устарел
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
-
bug
Dificuldade 2/5 Meio dia Facilidade para iniciantes 76/100
m3ue/m3u-editor#1604 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
femiwiki/docker-mediawiki#1497 ·
Mantenedores costumam responder em até 1 dia