MySQL に基づく動的検索クエリのインデックス作成
P粉170438285
P粉170438285 2024-03-30 20:21:47
0
1
419

これは私の最初のプロジェクトなので、たくさんの質問があって申し訳ありません。

上記の Cat テーブルを検索するためのインデックスを作成しようとしています。

しかし、where句には複数のケースがあるため、どのように適用すればよいのかわかりません。

リーリー

可能であれば、年齢、名前、生年月日に個別のインデックスを作成できますか? そうでない場合は、(年齢)、(年齢、名前)、(年齢、生まれ)、(年齢、名前、生まれ)...をケースごとに作成する必要がありますか?

本を読んでもよくわからないので疑問が残ります。このことで気分を害しないことを願っています。

mysql v8.0 innoDB を使用しています。

###ありがとう!

P粉170438285
P粉170438285

全員に返信(1)
P粉277464743

リーリー

おそらくは助けが得られるでしょう

リーリー

ただし、注意してください: birth のタイプが DATETIME である場合、12/31 の大部分が欠落しています。

リーリー

先頭に ワイルドカード文字があるため、インデックス作成は役に立ちません。 リーリー

アーキテクチャの設計が不十分です。猫が誕生日を迎えると何が起こるかを想像してみてください。この列を更新する必要があります。代わりに、

birthCURDATE() を使用して日付の計算を行います。

ただし、

age 列を保持する場合、これは 役立つ可能性があります: リーリー 今日の別の質問で

cat.birth

クエリを紹介しました。参照してください。特定の SELECT に適切なインデックスを構築する方法については、私の インデックス クックブック を参照してください。 WHERE ... AND ... のどこで「複合」(複数列) INDEX を有効に使用できるかを示しています。どの例でも複合インデックスを使用できません。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート