Archived
This topic is now archived and is closed to further replies.
Recommended Posts
-
Similar Content
-
By Guilherme Luiz
Olá pessoal,
Tenho a seguinte consulta
$queryList = "SELECT sms.id as id, sms.mobile as mobile, sms.ddi as ddi, sms.send_date as dataEnvio, sms.dlr_date as dataDlr, sms.status as status, sms.substatus as descricao, sms.route as rota, sms.cost as tarifa, sms.currency as moeda, w.flag as flag, w.country as pais, ctt.nome as nome FROM sms_mt as sms INNER JOIN worldwide as w ON w.ddi = sms.ddi LEFT JOIN (SELECT concat(ddi,mobile) as mobile, nome as nome FROM phonebook WHERE user_id='{$userID}') as ctt on ctt.mobile = sms.mobile WHERE sms.user_id='{$userID}' and sms.campaing_id='{$x['id']}' UNION ALL SELECT sms.id as id, sms.mobile as mobile, sms.ddi as ddi, sms.dlr_date as dataEnvio, sms.dlr_date as dataDlr, sms.status as status, sms.substatus as descricao, sms.route as rota, sms.cost as tarifa, sms.currency as moeda, w.flag as flag, w.country as pais, ctt.nome as nome FROM sms_mo as sms INNER JOIN worldwide as w ON w.ddi = sms.ddi LEFT JOIN (SELECT concat(ddi,mobile) as mobile, nome as nome FROM phonebook WHERE user_id='{$userID}') as ctt on ctt.mobile = sms.mobile WHERE sms.user_id='{$userID}' and sms.campaing_id='{$x['id']}' and sms.billed=1 ORDER BY dataEnvio DESC"; $sqlList = mysqli_query($connect_sql,$queryList); while($list = @mysqli_fetch_assoc($sqlList)){ $stats[] = [ "id" => (int)$list['id'], "mobile" => $list['mobile'], "flag" => "/includes/images/flags/{$list['flag']}.png", "ddi" => $list['ddi'], "pais" => $list['pais'], "nome" => ((empty($list['nome'])) ? null : $list['nome']), "dataEnvio" => date("d/m/y H:i:s A", strtotime($list['dataEnvio'])), "dataDlr" => date("d/m/y H:i:s A", strtotime($list['dataDlr'])), "status" => $list['status'], "desc" => $list['descricao'], "rota" => $list['rota'], "tarifa" => $list['tarifa'], "moeda" => $list['moeda'] ]; } Onde eu tenho a seguinte estrutura de tabelas
sms_mt
sms_mo
Com a consulta que estou utilizando, eu estou tendo problemas de atraso na resposta.
Para consultas com mais de 3.000 registros, minha aplicação demora mais de 2 minutos para trazer tais resultados. o que eu acho muito tempo.
Se eu faço uma pesquisa de mais de 20k de linhas, a aplicação demora mais de 8 minutos...
Essa consulta eu puxo sem paginação porque a faço através do PHP + AngularJs que aplica a paginação com base no objeto json total recebido do banco de dados.
Como posso otimizar essa query ou a tabela para ter melhor performance?
Todas as colunas com a chavinha cinza de indice, estão agrupadas num indice indez unico.
-
By Vinícius022
Acho que estou com algum problema de herança ou coisa assim, eu não consigo chamar mais de um Container::getModel no meu Controller. Vou colocar o meu __construct aqui e o erro que ele me retorna
PaginaController.php
public function __construct()
{
parent:: __construct();
#se eu comentar e deixar apenas um ai ele funciona, mas quando tento fazer com mais de um ele da um erro
$this->contato = Container::getModel("Contato");
$this->noticia = Container::getModel("Noticias");
$this->institucional = Container::getModel("Institucional");
$this->atuacao = Container::getModel("Atuacao");
$this->banner = Container::getModel("Banners");
}
Container.php
public static function getModel($model)
{
$objModel = "\\App\\Models\\".$model;
return new $objModel(DataBase::getDataBase());
}
Fatal error: Uncaught TypeError: Argument 1 passed to Core\BaseModel::__construct() must be an instance of PDO.
-
By ndias
Alguém pode me ajudar?
Tenho a seguinte query:
select cc.CampoConhecimento, COUNT(distinct(cc.idCv)) as Total, count(CASE WHEN cc.NivelConhecimento = 1 OR cc.NivelConhecimento = 0 OR cc.NivelConhecimento IS NULL THEN 'Basico' ELSE NULL END) as Basico, count(CASE WHEN cc.NivelConhecimento = 2 THEN 'Intermediario' ELSE NULL END) as Intermediario, count(CASE WHEN cc.NivelConhecimento = 3 THEN 'Avancado' ELSE NULL END) as Avancado from tblCurriculoConhecimento cc inner join tblCadastro_Curriculo_Incompleto cv on cv.IdCV = cc.idCV where cv.Ativo = 'S' and (cv.Sexo = 'M' or cv.Sexo = 'F') and cv.Excluido = 'N' and ((YEAR(CURDATE())-RIGHT(REPLACE(cv.DtNascimento, '/', ''),4) >= 16 or (datediff(YEAR(ifnull(date(cv.DataUpdate),date(cv.DataCadastro))),CURDATE()) + YEAR(CURDATE())-RIGHT(REPLACE(cv.DtNascimento, '/', ''),4)) >= 16) and (YEAR(CURDATE())-RIGHT(REPLACE(cv.DtNascimento, '/', ''),4) <= 97 or (datediff(YEAR(ifnull(date(cv.DataUpdate),date(cv.DataCadastro))),CURDATE()) + YEAR(CURDATE())-RIGHT(REPLACE(cv.DtNascimento, '/', ''),4)) <= 97)) group by cc.CampoConhecimento order by cc.CampoConhecimento asc; Que em 40s me retorna isso:
Access 53593 42482 8937 2174 ASP 13271 12963 241 67 AutoCad 20740 15637 3335 1768 C 15261 13903 1093 265 CMais 15666 14284 1118 264 Cobol 12826 12670 109 47 CorelDraw 22418 18069 3192 1157 CSS 33043 27538 4350 1155 Dbase 13049 12839 167 43 Delphi 13226 12901 248 77 Dreamweaver 16216 14578 1223 415 Excel 110420 50002 43771 16647 Flash 17492 15713 1370 409 HTML 50819 38377 9210 3232 Java 15566 14204 1092 270 JavaScript 37677 31640 4869 1168 Linux 19782 17101 2141 540 Macintosh 15491 14245 854 392 MSSQLServer 32612 28300 3625 687 MySQL 32499 27919 3786 794 Net 13734 13095 472 167 Oracle 13711 13240 400 71 Outlook 31534 17714 8555 5265 Photoshop 25695 19547 4478 1670 PHP 14189 13439 594 156 PowerPoint 108758 46837 41646 20277 Sharepoint 12803 12657 102 44 Windows 34045 16383 10059 7603 Word 112999 39167 45279 28554 Para esse resultado eu criei os índices:
ALTER TABLE tblCurriculoConhecimento ADD INDEX (idCV,CampoConhecimento,NivelConhecimento); ALTER TABLE tblCurriculoConhecimento ADD INDEX (CampoConhecimento,idCV); ALTER TABLE tblCadastro_Curriculo_Incompleto ADD INDEX (Sexo,Ativo,Excluido,DtNascimento,DataUpdate,DataCadastro,Estado,Cidade,TipoDeficiencia,Instituicao,Curso,Dia,Ano,Nome,CPF,Email); O cv.IdCV é um PRMARY KEY. Eu adicionei no INDEX campos a mais em relação a esta consulta, porque em certos momentos eles serão usados. O EXPLAIN tá me retornando isso:
1 SIMPLE cv index PRIMARY Sexo 1335 null 203349 Using where; Using index; Using temporary; Using filesort 1 SIMPLE cc ref idCV idCV 5 cv.IdCV 4 Using where; Using index Eu queria saber aonde estou errando. Porque minha index "Sexo" não está sendo usada corretamente. E como posso melhorar isso.
Por favor.
Obrigado,
-
By Gemenson Miranda
Olá pessoal, estou com problemas com URL amigáveis, no servidor local está tudo ok, funciona perfeitamente, sem problemas, mas quando passei todos os arquivos para o servidor da minha hospedagem da sempre erro (The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.) nas páginas onde a URL amigável atua, já tentei alterar as permissões dos arquivos no servidor, coloquei uma TAG <base href="http://meusite.com.br/">, já fiz de tudo que achei que poderia ta causando erros, abaixo o código do meu .htaccess, quem puder me ajudar a identificar o erro agradeço!
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^list/(.*)/(.*)$ list.php?page=$1&var=$2 RewriteRule ^list/(.*)$ list.php?page=$1 RewriteRule ^midia/$ midia.php?url=$1 RewriteRule ^criar/$ criar.php?url=$1 RewriteRule ^log/$ log.php?url=$1 RewriteRule ^register/$ register.php?url=$1 RewriteRule ^medidas/$ tamanhos_medidas.php?url=$1 RewriteRule ^showcase/(.*)/([0-9]+)$ showcase.php?produto=$1&item=$2
-
By felipe_chipset
Fala galera, gostaria de tirar uma dúvida teórica (WEB)
Qual vocês consideram a melhor maneira de otimizar imagens de um site para web dado o seguinte Cenário.
Zend 3 ou Cakephp3
S3 (para armazenar as imagens)
O cliente sobe as imagens (no tamanho que ele quiser)
Eu tenho que diminuir o tamanho dessas imagens por script (para o site não demorar 30 segundos para abrir no browser a imagens de upload quando o site for aberto).
Minhas dúvidas são..
O que vocês utilizariam para melhorar a performance ao carregar essas imagens de forma mais rápida possível?
Qual processos utilizariam para diminuir o tamanho das imagens (biblioteca ou qualquer coisa do tipo em PHP)?
-