sql >> データベース >  >> RDS >> Mysql

MySQLFULLTEXTインデックスの問題

    間違ったタイプのテーブルを使用しています。 Mysqlはいくつかの異なるタイプのテーブルをサポートしていますが、最も一般的に使用されるのはMyISAMとInnoDBです。 MyISAM(MySQL 5.6およびInnoDBテーブル)はタイプですMysqlがフルテキストインデックス用にサポートするテーブルの数。

    テーブルのタイプを確認するには、次のSQLクエリを発行します。

    SHOW TABLE STATUS
    

    クエリによって返された結果を見て、[エンジン]列でテーブルと対応する値を見つけます。この値がMyISAMまたはInnoDB以外の場合、FULLTEXTインデックスを追加しようとすると、Mysqlはエラーをスローします。

    これを修正するには、以下のSQLクエリを使用してエンジンタイプを変更できます。

    ALTER TABLE <table name> ENGINE = [MYISAM | INNODB]
    

    追加情報(役立つと思われる):Mysqlはさまざまなエンジンストレージタイプを使用して、特定のテーブルに必要な機能を最適化します。例MyISAMは、オペレーティングシステム(ウィンドウ以外)のデフォルトタイプであり、SELECTとINSERTをすばやく実行します。ただし、トランザクションは処理しません。 InnoDBはWindowsのデフォルトであり、トランザクションに使用できます。ただし、InnoDBはサーバー上により多くのディスクスペースを必要とします。



    1. oracletmstmpフィールドからミリ秒を削除する

    2. MySQLデータベースのタイムゾーンをGMTに設定します

    3. 一時テーブルを作成する前に、一時テーブルが存在するかどうかを確認し、存在する場合は削除してください

    4. 変数としてのテーブル名