Criar vista ou usar innerjoins?
Eu tenho um banco de dados normalizado, com chaves estrangeiras / chaves primárias dando um para muitos bancos de dados.
Eu pretendo acessar este banco de dados com PHP para o display básico frontend / backend. Agora, minha pergunta vem dessas duas consultas examinadas:
CREATE VIEW `view` AS
SELECT
functiondetails.Detail,
functionnames.ID,
functionnames.FunctionName,
functionnames.Catogory
FROM functiondetails
INNER JOIN functionnames ON functiondetails.AsscID = functionnames.ID
ou
SELECT
functiondetails.Detail,
functionnames.ID,
functionnames.FunctionName,
functionnames.Catogory
FROM functiondetails
INNER JOIN functionnames ON functiondetails.AsscID = functionnames.ID
Não há erro na consulta, pois eu corri os dois sem falhar, mas minha pergunta geral é a seguinte:
se eu planejo constantemente fazer referência a muitas informações do meu banco de dados. Não seria mais fácil criar uma exibição, que será atualizada o tempo todo com as informações recém-adicionadas, ou seria melhor praticar a segunda consulta no meu php real. Exemplo:
$Query = $MySQli->prepare("
SELECT
functiondetails.Detail,
functionnames.ID,
functionnames.FunctionName,
functionnames.Catogory
FROM functiondetails
INNER JOIN functionnames ON functiondetails.AsscID = functionnames.ID
")
$Query->execute();
$Results = $Query->fetch_results();
$Array = $Results->fetch_array(MYSQLI_ASSOC);
Ou para selecionar da minha opinião?
$Query = $MySQLi->prepare("SELECT * FROM `view`");
$Query->execute();
$Results = $Query->fetch_results();
$Array = $Results->fetch_array(MYSQLI_ASSOC);
Então, qual seria um método melhor para usar para consultar meu banco de dados?