2012-03-07 3 views
1

私は現在、私が二重盲目になっている環境で作業しています。 Sybaseの Sybaseのテーブル用インデックスの検索

へのODBC接続で、私が見つける必要がある私は、私は従業員がSASクライアントでそれらを実行するクライアントの従業員

  • に実行する必要が任意のクエリを電子メールで送信する必要が

    1. 特定の表にどのような索引が存在するかを正確に確認する方法を説明します。 sp_helpindexを使用しますが、明らかにSyBaseのインスタンスには存在しません。

      We 私はSyBase 12だと信じていますが、もう一度私は何かを特定できません。

      誰でもSQLを持っていますか...
      - 私たちが取り組んでいるSyBaseのバージョンを正確に確認してください。
      - 特定のテーブルに存在するすべてのインデックスの詳細?

  • 答えて

    1

    「現在作業しているSyBaseのバージョンを確認してください」

    なぜ使用しない:

    IQ SHOW INDEXSET INDEXES 
    

    はバージョン


    Sybaseのウェブサイトは、(少なくとも、ここでは)ダウンしているが、それはようなものになるだろう@@選択

    または

    IQ SHOW INDEXSET FOR indexset 
    

    indexsettablenameです。すべてのテーブルに同じ名前が割り当てられたインデックスセットがあるためです。

    は、Sybaseのウェブサイトへのアクセス権を持っている場合は、おそらくあなたはさらに行くことができますが:)

    +0

    おかげで、それは、他のシステムによる失敗だと思われるもののSPが見つからない。私のクライアントは、私が単にForce *を使うことを好むだろうと思う: – MatBailie

    +0

    @Demsそれは私が起こるだろうが^^だけどどんなバージョンが分かっている? –

    +0

    約5時間を見つけるが、私はそれを得た! 「Sybase IQ/12.7.0/100114/P/ESD 9/Enterprise Linux64 - amd64、Opteron64、X86_64/2.4.21-27.0.1.ELsmp/64bit/2010-01-14 10:20:04' – MatBailie

    2

    ほとんどのSybase製品は、エンジン運転の有無にかかわらず、バージョンを伝えるために-vコマンドライン引数を持っています。

    my_tableは、あなたのテーブルの名前である、任意のテーブル上のインデックスは次のように入力し検索するには:

    select i.name 
    from sysindexes i, sysobjects o 
    where o.name = 'my_table' 
        and o.id = i.id 
    
    0

    あなたは、このクエリを使用することができます。

    select i.name 
    from sysindexes i, sysobjects o 
    where o.name = 'table_name' and i.indid >=1 
    and o.id = i.id 
    
    0

    が好きな、複数のテーブル上のインデックスのない検索イメージインデックス

    select name = o.name,iname = i.name from sysindexes i, sysobjects o where o.name in ('table1','table2','table3') and i.name not like 't%' and i.indid >=1 and o.id = i.id 
    
    0

    sybaseバージョン:

    SybaseのバージョンのSAPのIQ/16で
    select @@version 
    

    、あなたは以下とインデックスの一覧を取得することができます(テーブル名MY_TABLEは、大文字と小文字が区別されます。このため

    select * 
    from sys.sysindexes 
    where tname = 'my_table'; 
    
    関連する問題