Tem alguma forma de organizar STORED PROCEDURES e FUNCTIONS no MySQL ?
A lista tá ficando grande.
Organizar STORED PROC/FUNC
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Organizar STORED PROC/FUNC
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Organizar STORED PROC/FUNC
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.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Organizar STORED PROC/FUNC
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.
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/
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/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Organizar STORED PROC/FUNC
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.
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/
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

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Organizar STORED PROC/FUNC
Olá!
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
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...JoséQuintas escreveu:Pelo que andei lendo, o MySQL executa o parser nos comandos armazenados, o que pode tornar lento.
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)
Alexandre Santos (AlxSts)
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Organizar STORED PROC/FUNC
Olá!
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.
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.
No MySQL e MariaDB acredito que ainda não tenha.JoséQuintas escreveu:Tem alguma forma de organizar STORED PROCEDURES e FUNCTIONS no MySQL ?
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.
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)
Alexandre Santos (AlxSts)