É possível fazer consultas SQL dinâmicas no código?

Em vez de codificar consultas sql comoSelect * from users where user_id =220202 estes podem ser dinâmicos comoSelect * from $users where $user_id = $input.

A razão pela qual pergunto é quando são necessárias alterações nos nomes de tabelas / colunas. Eu posso atualizá-lo em um só lugar e não preciso pedir aos desenvolvedores para irem linha por linha para encontrar todas as referências a serem atualizadas. É muito demorado. E eu não gosto da idéia de expor coisas do banco de dados no código.

Minha maior preocupação é o tempo de carregamento. Assim como nas páginas dinâmicas, o banco de dados precisa buscar o conteúdo da página, da mesma forma, se as consultas são dinâmicas, primeiro o sistema precisa pesquisar as referências e depois executar as consultas. Isso afeta o tempo de carregamento?

Estou usando o codeignitor PHP.

Se for possível, a próxima pergunta é onde armazenar todas as referências? No aplicativo, em um arquivo, no banco de dados e como?

---EDITAR:
Ainda melhor: a própria consulta SQL pode ser dinâmica? Posso apenas fazer referência a $ sqlA em vez de toda a consulta? Dessa forma, se eu precisar reescrever a consulta, posso apenas atualizar 1 arquivo.

questionAnswers(4)

yourAnswerToTheQuestion