Я согласен с ответом от zacherates.
Но вы можете сделать вызов intern () в ваших нелиберальных строках.
Из примера zacherates:
// ... but they are not the same object
new String("test") == "test" ==> false
Если вы ставите нелитеральное равенство строки, это правда
new String("test").intern() == "test" ==> true
Ваш вопрос предполагает, что написание SQL-запросов не моделирование данных. Это не правильно. В то время как базовые структуры баз данных SQL (например, таблицы и представления) предопределены, и то, что вы создаете из этих структур, полностью соответствует вашей структуре запросов.
Это одна из сильных сторон (если хотите) SQL: она позволяет вам изменить свою точку зрения на данные и задать разные вопросы. Но вопросы, которые вы задаете, являются образцами вашего запроса и вашего мышления.
Вкратце: написание SQL - это моделирование.
Во всяком случае, я понял, что вы имели в виду под вашим вопросом в смысле "modelling" == "using the HANA graphical modeller"
. Ответ на ваш вопрос, конечно, «, это зависит ».
Графическое моделирование является простым (для простых моделей), требует меньшего количества операций ввода, и эти модели очень легко представить инструментам отчетности и / или службам OData.
SQL, с другой стороны, является очень универсальным инструментом для многих задач обработки данных и может быстро привести к результатам даже в очень сложных сценариях.
Лично я обычно вначале играю в SQL и использую графические модели только в том случае, если хочу использовать в них определенные функции (например, функции анонимизации в HANA 2 недоступны в SQL).
Возвращаясь к вашему примеру: если вы хотите повторно использовать таблицы измерений (особенно когда это на самом деле не простые таблицы, а завершенные конструкции соединения самостоятельно), я, вероятно, сначала выберу подход графического моделирования. установить "куб" -структуру. Запросы к этой структуре куба будут записываться как SQL.
Наконец, производительность выполнения должна быть очень похожей в большинстве случаев. Я бы использовал любой инструмент, который, по моему мнению, лучше всего подходит для конкретной задачи моделирования, прежде чем выбрать его из-за «лучшей производительности». Причина этого заключается в том, что полное понимание вашей модели данных (как схемы, так и вашего запроса) является наилучшим вариантом для повышения производительности после того, как вы установили, что результаты верны.