Página 1 de 1

Organizar STORED PROC/FUNC

Enviado: 07 Jul 2021 19:17
por JoséQuintas
stored.png
Tem alguma forma de organizar STORED PROCEDURES e FUNCTIONS no MySQL ?
A lista tá ficando grande.

Organizar STORED PROC/FUNC

Enviado: 07 Jul 2021 19:30
por JoséQuintas
Pensei em juntar, por exemplo, a validação de IE numa só.

Pelo que andei lendo, o MySQL executa o parser nos comandos armazenados, o que pode tornar lento.
Digamos que valida o código e "compila" a cada chamada.
Nesse caso, melhor funções pequenas, assim executa mais rápido.

No caso de validar inscrição estadual, melhor que "compile" somente a UF necessária, do que todas as UFs pra só usar uma.

Nenhum teste de performance, a maioria aí apenas criei, e talvez nem use.

Organizar STORED PROC/FUNC

Enviado: 07 Jul 2021 19:40
por JoséQuintas
validie.png
Testar com uma base maior.
31 registros, e 5 centésimos de segundo não é muita referência, ainda mais que a maioria é de UF ainda sem rotina de validação.

Organizar STORED PROC/FUNC

Enviado: 07 Jul 2021 20:37
por JoséQuintas
teste.png
Uma base maior.

3.414 não passaram na validação
2.968 passaram

Com certeza, a maioria que não passou é porque falta validação pra UF.
Com certeza, muitos que passaram são ISENTOS ou NÃO CONTRIBUINTES.

menos de 1 segundo pra mais de 6.000 cadastros, acho que tá bom.

Organizar STORED PROC/FUNC

Enviado: 08 Jul 2021 00:45
por alxsts
Olá!
JoséQuintas escreveu:Pelo que andei lendo, o MySQL executa o parser nos comandos armazenados, o que pode tornar lento.
Não sei o que você anda lendo mas, stored procedures, functions e triggers foram inventados justamente para evitar que este trabalho seja repetido a cada execução, visando o aumento da performance...

Leia o artigo All About Stored Procedures (em inglês). É referente a MS SQL Server mas o conceito vale para qualquer SGBD.

Fonte: ITProToday

Stored Procedure

Organizar STORED PROC/FUNC

Enviado: 08 Jul 2021 01:41
por alxsts
Olá!
JoséQuintas escreveu:Tem alguma forma de organizar STORED PROCEDURES e FUNCTIONS no MySQL ?
No MySQL e MariaDB acredito que ainda não tenha.

No PostgreSQL tem um recurso interessante, chamado SCHEMA. Diferentemente do MySQL e MariaDB, onde cada database existente no servidor é chamado de SCHEMA, no PostgreSQL, pode-se criar quantos schemas forem necessários dentro de cada database. Dentro de cada Schema, pode-se criar tudo que for preciso para aquele schema, como tables, views, triggers, functions, etc... Desta forma, pode-se dividir e agrupar os objetos como for necessário e com facilidade. O schema padrão é o Public.
Capturar.JPG
Recurso semelhante também existe no MS SQL Server, desde a versão 2000. Pode-se agrupar os objetos por schema. O schema padrão é o dbo (database owner), como em dbo.tbCustomer.

No Oracle, existe o recurso de organizar objetos escritos em PL/SQL (types, variables, constants, subprograms, cursors, and exceptions) em packages. Estas packages são compiladas e armazenadas no banco de dados.