Ir para conteúdo
Fórum Script Brasil

fabio.aurelio

Membros
  • Total de itens

    17
  • Registro em

  • Última visita

Sobre fabio.aurelio

fabio.aurelio's Achievements

0

Reputação

  1. Que isso, voce me ajudou demais! Vlw mesmo!
  2. então, Eu sempre faço backup de tudo que é alteração(banco e script), o ambiente é de produção, mas no fundo ainda estamos nos testes ainda. Quanto a isto sem problemas, Vou tentar focar nesta questão dos indices, só queria saber como funciona a questão das consultas sem o while, tudo esta concentrado no trecho que enviei la em cima.. De toda forma, muito obrigado pela ajuda !!
  3. Bom dia, tudo beleza? Passei mais algumas horas vendo isso rs! Então, Testei seu script no sql direto: deu diferença de milésimos, quando usei direto no no código, piorou o tempo. Eu analisei os logs que acusa lentidão, aparece que o problema pode ser pelo fato das consultas estar dentro de um loop(while), então,elas estão se repetindo dezenas de vezes.. Eu tentei tirar elas de dentro, mas sempre fica limitado e não mostra nada. Você tem alguma ideia de como tirar estas querys de dentro do While?
  4. Então, 1 . A aplicação esta rodando num server na kinghost. verifiquei o consumo e esta ok. 1.a. Já andei verificando uns logs do mysql, e acusou que precisa ser melhorado a questão das consultas, pois esta havendo uma lentidão por conta disso....(estou te enviando a tela anexo disto) 2. Minha ferramente é o Navicat Premium, me atende bem, muito boa para manipular bancos 2.1 não tenho dificuldades.. 2.a 1 - ok 2.a 1- ok 2.a.2 - Deu o erro abaixo(creio que pelas linhass que o join esta lendo) [Err] 1104 - The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay 2.a.3 - ok 3. Ok 3.1 - Ok 3.2 - Ok Da um olhada nos anexos, ali esta falando claramente que o problema são as consultas/querys não creio que seja de performance ou quantidade de registros, visto que em outro modulo, em 40.000 registros e não demora nem 5 segundos para trazer o resultado...
  5. Olá, Bom dia!! Obrigado pelas dicas e ajuda. - Tirei o order by do select, mas não influenciou no resultado - O código esta em produção - A rotina do calculo de dias que faltam(ou vencidos) não é salvo no banco é calculado na hora e mostrado na tela somente, não há necessidade de salvar no banco - Os registros já estao sendo paginados quando exibidos(na tela em anexo esta mostrando). Quando eu uso a clausula LIMIT, ele mostra somente 10 registros na tela(por exemplo), só que quando tento buscar algum cliente, ele não acha, visto que ele só buscou estes "10", entendeu? Quantidade de registros: Tabela Carnes: 378 Tabela clientes: 20142 Tabela Financeiro: 8278 Em anexo tela do sistema e tabelas
  6. Então, As tabelas são : clientes, financeiro e carnes. Elas não estão interligadas(relacionadas). O calculo que voce perguntou, verifica (calcula) o número de dias em atraso de um boleto ou número de dias para o próximo vencto. Meu problema é a demora em trazer os dados para a tela, pois assim que entro nesta tela, ele demora uns 50 segundos para mostrar os dados. O select principal é esse: $consultas = mysql_query("SELECT * FROM financeiro WHERE situacao = 'N' order by vencimento DESC"); /* Esta consulta faz o select principal pra trazer os dados *
  7. Olá, pessoal! Estou gerando uma consulta numa query, mas ela esta demorando uns 50 segundos para retornar os registros na tela. São em media 8.000 registros, e já criei a paginação, mas mesmo assim, demora este tempo todo. Tentei usar um Inner join, mas não consegui progresso. Vocês tem alguma ideia de como posso melhorar? Segue trecho do código responsável pela consulta: $configs = mysql_query("SELECT * FROM empresa WHERE id = '1'"); $config = mysql_fetch_array($configs); if(isset($_POST["filtrar"])){ $mes = $_POST["mes"]; $ano = $_POST["ano"]; $sit = $_POST["situ"]; $q_faturas = "SELECT * FROM financeiro WHERE MONTH(vencimento) = '$mes' AND YEAR(vencimento) = '$ano'"; if($sit != ""){ $q_faturas .= " AND situacao = '$sit'"; }else{ $q_faturas .= " AND (situacao = 'N' OR situacao = 'P')"; } $q_faturas .= " ORDER BY vencimento DESC"; $consultas = mysql_query($q_faturas); }else{ $consultas = mysql_query("SELECT * FROM financeiro WHERE situacao = 'N' order by vencimento DESC"); /* Esta consulta faz o select principal pra trazer os dados */ } while($campo = mysql_fetch_array($consultas)){ $idc = $campo['cliente']; $status = $campo['situacao']; $clientes = mysql_query("SELECT * FROM clientes WHERE id = '$idc'"); $cliente = mysql_fetch_array($clientes); $id_boleto = $campo["boleto"]; $q_boleto = "SELECT banco FROM carnes WHERE numero_documento = '$id_boleto'"; $banco_nome = mysql_query($q_boleto); $banco_nome = mysql_fetch_array($banco_nome); $banco_nome = $banco_nome["banco"]; $data_inicial = date('Y-m-d'); $data_final = $campo['vencimento']; $time_inicial = strtotime($data_inicial); $time_final = strtotime($data_final); $diferenca = $time_final - $time_inicial; $dias = (int)floor( $diferenca / (60 * 60 * 24)); $status = ($status == "N")?"Em aberto":"Pago";
  8. Pessoal, tudo beleza? Estou montando um cadastro de clientes, onde teria um campo de recebimento de pagamentos(mensal) No caso, como eu faria para controlar o pagamento mes a mes? Visto que todo mes tem uma fatura a ser paga pelo cliente? Vlww
  9. Cara, obrigado pela força. Mas desisto disso ai, toda hora é um erro diferente.. Abc,
  10. Ficou assim: <? .. $contador = 1; $sql = "select DISTINCT * from estoqueatual WHERE id = '$contador'"; while( $contador <= 10){ $result = mysql_query($sql); .. /*imprimi campos*/ ... $row = mysql_fetch_assoc($result); $contador++; } ?>
  11. Quando eu jogo a consulta pra fora do loop, ai todos os valores vem zerados, não apenas alguns
  12. então, desenvolvi desta forma: <? $contador = 1; while( $contador < 10){ $sql = "SELECT distinct * FROM estoqueatual WHERE id = '$contador'"; $result = mysql_query($sql, $conexao); $row = mysql_fetch_assoc($result); .. $contador++; } ?> Ele ate contou os 10, mas puxou alguns registro em branco...
  13. Beraldo, Vi seus artigos sobre consulta(PDO, STATEMENT etc) Mas o que esta me tirando o sono é este bendito loop do while, porque sempre quando chega nisso da problema :/
  14. então Beraldo, Na verdade ele imprimir os 10, só que, como o campo ID não tem uma sequencia(1..2..3..4..5.), ele imprimir em branco quando passa pelos que não existe, por exemplo: ID PRODUTO VALOR 1 CAFÉ 3,00 3 ARROZ 4,00 5 FEIJAO 9,00 No caso acima, ele vai imprimir 1 cafe.. 2 em branco 3 arroz 4 em branco . Entendeu? Seria pra ele imprimir os 10 na sequencia... Ou seja: 1 CAFÉ 3,00 3 ARROZ 4,00 5 FEIJAO 9,00 7 SAL 8 DOCE ... ... .. Ate dar os 10 com dados...não sei se fui claro
  15. Ola pessoal, uma colega pediu ajuda pra mim num codigo e não consegui ajuda-la, E o seguinte.. Ela tem um trecho em php assim: $contador = 1; while( $contador <= 10){ $sql = "SELECT * FROM estoqueatual WHERE id = '$contador')"; result = mysql_query($sql, $conexao); .. } .. Ou seja, vai imprimir enquanto os registro forem menor que 10..ate ai funciona Problema: O campo ID, tem numeração assim: 1,2,4,7,8,9 Ou seja, ele não imprimi 3,5,6 ..etc logo, em vez dele imprimir os 10, ele imprimir os que estao com valores e o resto mostra em branco, quando ele deveria continuar imprimindo os outros, ate´ dar os 10 registros..(contados) alguém sabe como contorno isso?
×
×
  • Criar Novo...