Organizar STORED PROC/FUNC

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Organizar STORED PROC/FUNC

Mensagem por JoséQuintas »

stored.png
Tem alguma forma de organizar STORED PROCEDURES e FUNCTIONS no MySQL ?
A lista tá ficando grande.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Organizar STORED PROC/FUNC

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Organizar STORED PROC/FUNC

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Organizar STORED PROC/FUNC

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Organizar STORED PROC/FUNC

Mensagem 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
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Organizar STORED PROC/FUNC

Mensagem 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.
[]´s
Alexandre Santos (AlxSts)
Responder