mysql普通索引效率
巴扎黑
巴扎黑 2017-04-17 16:38:20
0
3
506

select * from post where zhuanid = 0 and catid <> 10 and empty =0;
1、本SQL语句:唯一性太差的还要建索引吗 比如empty 就是0或者1 catid一共就8个数 但表数据量是上百万

2、还有2个及2个以上条件查询的 必须要将全部字段建一个复合索引吗

3、如果如上三个字段分别建了一个普通索引 这个and会使用索引吗

对多个查询条件的索引概念比较模糊 但我现在数据库的CPU非常高

巴扎黑
巴扎黑

全員に返信(3)
小葫芦

特定の問題の詳細な分析。一意性が低すぎる場合は、独立したインデックスを作成する必要はありません。結合インデックスを作成し、クエリ ステートメントを調整することをお勧めします。 (zhanid、catid、空)。このステートメントは、zhuanid = 0 および catid in(a,b,c,d,e) および empty =0

として書き換えられます。
いいねを押す +0
迷茫

<> これによりインデックスが削除されましたか?

否定的なクエリ条件: NOT、!=、<>、!<、!>、NOT IN、NOT LIKE などは、テーブル全体のスキャンになります

いいねを押す +0
阿神

select が必要かどうかは疑う価値があります。個別にインデックスを作成した場合、mysql オプティマイザーが独自に判断します。カバリングインデックスを使用できます

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!