У чым розніца паміж jdbc і sqlj?


адказ 1:

У звычайных файлах Java вы карыстаецеся JDBC для ўзаемадзеяння з базай дадзеных. Кожны раз, калі вы запусціце DML (выбраць, уставіць, выдаліць, ...), набор павінен быць аптымізаваны і прааналізаваны, каб стварыць план доступу, а затым выканаць дзеянне. Калі вы павінны рабіць гэта часта, рабіць тое ж самае кожны раз можа быць дорага.

Замест гэтага SQLJ - гэта спалучэнне Java і SQL. Свае прапановы вы пішаце як у праглядальнік базы дадзеных, і прапановы аналізуюцца пры іх складанні. Гэта азначае, што запісы статычныя і пакет ствараецца ў базе дадзеных, якая змяшчае план доступу. Гэта таксама азначае, што запыт аналізуецца толькі адзін раз і выконваецца некалькі разоў падчас кампіляцыі.

JDBC больш падыходзіць для дынамічных запытаў, напрыклад, B. Выберыце, створаны з шэрагам параметраў, якія кожны раз адрозніваюцца. SQLJ прызначаны для статычных запытаў, якія маюць аднолькавую структуру.

Распрацоўка ў SQLJ вельмі простая, і, нарэшце, пасля папярэдняй кампіляцыі працэсар здабывае наборы SQL, стварае файл профілю для прывязкі ў базе дадзеных і стварае шэраг файлаў Java, якія ўтрымліваюць "аптымізаваны" JDBC.

Вы можаце змешваць SQLJ і JDBC у адным файле і атрымліваць усё магчымае ў любым свеце. Абвяшчэнне выбару для абнаўлення, а потым паўтаранне і змяненне радка вельмі дакладнае ў SQLJ.

Праўда, SQLJ не вельмі папулярны, але гэта праблема, калі распрацоўшчыкі думаюць толькі пра сваю праграму, не аналізуючы, як атрымаць доступ да дадзеных, распрацоўшчыкі пішуць толькі код і калі праграмы выпускаюць у вытворчасць Праблемы з прадукцыйнасцю заўсёды аднолькавыя. SQLJ прапануе больш гнуткі доступ да дадзеных, які DBA высока ацэньвае.

Праверце перапаўненне стэка для больш падрабязнай інфармацыі.


адказ 2:

Паколькі я не быў знаёмы з SQLJ, я паглядзеў і скапіяваў верхняе вызначэнне з Google:

SQLJ - састарэлая працоўная назва для намаганняў па аб'яднанні Java і SQL.

Ключавое слова там "састарэла". Больш не выкарыстоўваецца, калі б гэта было.

Частка 0 апісвае ўбудаванне аператараў SQL у праграмы Java.

Ммм, гэта не падобна на добрую ідэю ... :-) Як і дрэнная ідэя, што Скала мусіў убудаваць XML у сінтаксіс, але я адступіўся ...

JDBC - гэта афіцыйны спосаб узаемадзеяння з (рэляцыйнымі) базамі дадзеных. Ён вызначае API для запыту і абнаўлення дадзеных у базе дадзеных. Пастаўшчыкі баз дадзеных, такія як Oracle або MySQL, прадастаўляюць драйверы, якія выконваюць гэты API і забяспечваюць пэўны доступ да сваёй базы дадзеных.

Ёсць і іншыя параметры (NoSQL, ORM і г.д.), але гэта не тэматычна.