#1170-BLOB / TEXT列 'question_content'がキーの長さなしでキー指定で使用されています

2020-03-27 mysql indexing database-design
ALTER TABLE `aws_testquestion`
  ADD PRIMARY KEY (`question_id`),
  ADD KEY `category_id` (`category_id`),
  ADD KEY `update_time` (`update_time`),
  ADD KEY `add_time` (`add_time`),
  ADD KEY `published_uid` (`published_uid`),
  ADD KEY `answer_count` (`answer_count`),
  ADD KEY `agree_count` (`agree_count`),
  ADD KEY `question_content` (`question_content`),
  ADD KEY `lock` (`lock`),
  ADD KEY `thanks_count` (`thanks_count`),
  ADD KEY `anonymous` (`anonymous`),
  ADD KEY `popular_value` (`popular_value`),
  ADD KEY `best_answer` (`best_answer`),
  ADD KEY `popular_value_update` (`popular_value_update`),
  ADD KEY `against_count` (`against_count`),
  ADD KEY `is_recommend` (`is_recommend`),
  ADD KEY `weibo_msg_id` (`weibo_msg_id`),
  ADD KEY `received_email_id` (`received_email_id`),
  ADD KEY `unverified_modify_count` (`unverified_modify_count`),
  ADD KEY `chapter_id` (`chapter_id`),
  ADD KEY `sort` (`sort`[...]

私はこのエラーを受け取りました:

#1170 - BLOB/TEXT column 'question_content' used in key specification without a key length

Answers

  • 「すべての列にインデックスを付ける」ことは、いくつかの理由で悪い習慣です。
  • TEXTBLOBはインデックスを付けることができません。
  • true / false列のインデックス作成が役立つことはほとんどありません。
  • 人気のあるSELECTs基づいてインデックスを設計するのが最善です。それらのいくつかを見せてください。
  • テーブルが処理するインデックスの数には制限があります。 (5を超えることはめったにありません。ハードリミットは64のようなものです。)

Related