5 ~ 10 秒かかる全文検索付きのクエリがあります。key_buffer_size はすでに 16GB です。テーブルには1,500 万件のレコードがあり、カテゴリと会社のフィールドに複合フルテキスト インデックスがあります。
テーブルサイズ:
データ長 - 0.9GB
インデックス長 - 1.1GB
SELECT c.id FROM basetable c
WHERE MATCH(c.categories, c.company)
AGAINST('+keyword1 +keyword2 +keyword3' IN BOOLEAN MODE)
LIMIT 100
クエリ結果:
88 行のみ
クエリ ステータス:
Key_read_requests - 4414336
Key_reads - 1029 Key_write_requests
- 12 Key_writes
- 2
Handler_read_next - 89
Mysql グローバル変数:
key_buffer_size - 16GB
key_cache_age_threshold - 300
key_cache_block_size - 1024
key_cache_division_limit - 100
max_heap_table_size - 6gb
tmp_table_size - 6gb
サーバー:
デュアル XEONS CPU
32GB RAM
HD 15kRPM。
すべてのクエリが遅いわけではないことに注意してください。1 秒未満のものもあります。全文検索で使用するキーワードによって異なります。
これを改善する方法について何か考えはありますか?