2.2 GUIツール
2.2.1 Sybase Central
Sybase Centralは、GUIによるデータベース管理ツールで、データベースの作成やテーブルの作成など、SQL Anywhere管理のあらゆる操作が行える(図2.4)。また、テーブルのデータを表示して修正することもできるので、簡単なデータ操作も可能だ(図2.5)。
各オブジェクトの操作は、右ペインのタブや左ペインのオブジェクトを右クリックすると表示されるポップアップメニューから行う。なお、左ペインでテーブルを選択してからコピーすると、Sybase Central内でコピーできる。また、メモ帳などにペーストすると、テーブルスキーマの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=ASA 9.0 Sample" -nogui (DBA)> select top 5 id, fname, lname from customer order by id; 実行時間 :0.04 秒 id fname lname ------------------------- 101 Michaels Devlin 102 Beth Reiser 103 Erin Niedringhaus 104 Meghan Mason 105 Laura McCarthy (最初の 5 ロー) (DBA)> exit $
dbisqlコマンドの引数にSQL文指定すると、そのSQL文が実行される。
$ dbisql -c "dsn=ASA 9.0 Sample" "select * from customer"
SQL文のバッチ処理
dbisqlコマンドの引数にファイル名を指定した場合は、そのファイル(コマンドファイル)に書かれたSQL 文が実行される。
$ dbisql -c "dsn=ASA 9.0 Sample" a_command_file.sql
このとき、コマンドファイル内の変数をパラメータ化して、コマンドファイルを汎用化したい場合もあるだろう。Interactive SQLのREADコマンドを用いると、コマンドファイルにパラメータを渡すことができるので、バッチスクリプトを書く際に便利だ。たとえば、次のようなコマンドファイル「select_product.sql」を用意する。
PARAMETERS MIN_QUANTITY; SELECT * from product WHERE quantity > {MIN_QUANTITY};
MIN_QUANTITYがパラメータだ。100という数字を渡すには、次のようなコマンドを実行すればよい。
$ dbisql -c "dsn=ASA 9.0 Sample" "READ select_product.sql 100"
2.2.3 高速ランチャ機能
Sybase CentralとInteractive SQLには、起動を速くする高速ランチャ機能がついている。1度目の起動を終了してもバックグラウンドプロセスが残り、2度目以降の起動が高速になる。この機能はデフォルトでオンになっているので、バックグラウンドプロセスのメモリ使用量などが気になる場合は、[ツール]-[オプション]から、高速ランチャ機能を無効にするとよい。