2.2 GUIツール
2.2.1 Sybase Central
Sybase Centralは、GUIによるデータベース管理ツールで、データベースの作成やテーブルの作成など、SQL Anywhere管理のあらゆる操作が行える(図2.3)。また、テーブルのデータを表示して修正することもできるので、簡単なデータ操作も可能だ(図2.4)。
各オブジェクトの操作は、右ペインのタブや左ペインのオブジェクトを右クリックすると表示されるポップアップメニューから行う。なお、左ペインでテーブルを選択してからコピーすると、Sybase Central内でコピーできる。また、メモ帳などにペーストすると、テーブルスキーマのSQL文がテキスト表示される。
[サーバ・メッセージと実行されたSQL]ウィンドウの赤枠のタブ(図2.5)を選択すると、Sybase CentralからGUIで操作した内容をSQLとしても確認することもできる。実行されたSQL文を確認したり、別途スクリプトを用意する時などにも参考になる。
2.2.2 Interactive SQL
Interactive SQLは、SQL Anywhereに接続してSQL文を実行するためのツールだ。GUIとコマンドラインの両方で利用できる。GUIで利用すると、SELECT文などのSQLが返す結果セットはテーブル形式で表示される。また、SQL文の実行時間やオプティマイザが選択したクエリプランも表示できるので、SQL文のチューニングに役立つ。
Interactive SQLの実行コマンドであるdbisql.exeに対して-noguiオプションを付けて実行すると、対話的にSQLを実行できる。次に実行例を示す。
$ dbisql -c "dsn=SQL Anywhere 11 Demo" -nogui (DBA)> select top 5 id, surname, givenname from customers order by id; id surname givenname ----------------------------------------------------- 101 Devlin Michaels 102 Reiser Beth 103 Niedringhaus Erin 104 Mason Meghan 105 McCarthy Laura (5 ロー) 実行時間 : 0.312 秒 (DBA)> exit $
dbisqlコマンドの引数にSQL文指定すると、そのSQL文が実行される。
$ dbisql -c "dsn=SQL Anywhere 11 Demo" "select * from customers"
SQL文のバッチ処理
dbisqlコマンドの引数にファイル名を指定した場合は、そのファイル(コマンドファイル)に書かれたSQL 文が実行される。
$ dbisql -c "dsn=SQL Anywhere 11 Demo" a_command_file.sql
このとき、コマンドファイル内の変数をパラメータ化して、コマンドファイルを汎用化したい場合もあるだろう。Interactive SQLのREADコマンドを用いると、コマンドファイルにパラメータを渡すことができるので、バッチスクリプトを書く際に便利だ。たとえば、次のようなコマンドファイル「select_product.sql」を用意する。
PARAMETERS MIN_QUANTITY; SELECT * from products WHERE quantity > {MIN_QUANTITY};
MIN_QUANTITYがパラメータだ。100という数字を渡すには、次のようなコマンドを実行すればよい。
$ dbisql -c "dsn=SQL Anywhere 11 Demo" read c:\select_product.sql 100
2.2.3 高速ランチャ機能
Sybase CentralとInteractive SQLには、起動を速くする高速ランチャ機能がついている。1度目の起動を終了してもバックグラウンドプロセスが残り、2度目以降の起動が高速になる。この機能はデフォルトでオンになっているので、バックグラウンドプロセスのメモリ使用量などが気になる場合は、[ツール]-[オプション]から、高速ランチャ機能を無効にするとよい。