84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
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非常高
特定の問題の詳細な分析。一意性が低すぎる場合は、独立したインデックスを作成する必要はありません。結合インデックスを作成し、クエリ ステートメントを調整することをお勧めします。 (zhanid、catid、空)。このステートメントは、zhuanid = 0 および catid in(a,b,c,d,e) および empty =0
<> これによりインデックスが削除されましたか?
否定的なクエリ条件: NOT、!=、<>、!<、!>、NOT IN、NOT LIKE などは、テーブル全体のスキャンになります
select が必要かどうかは疑う価値があります。個別にインデックスを作成した場合、mysql オプティマイザーが独自に判断します。カバリングインデックスを使用できます
特定の問題の詳細な分析。一意性が低すぎる場合は、独立したインデックスを作成する必要はありません。結合インデックスを作成し、クエリ ステートメントを調整することをお勧めします。 (zhanid、catid、空)。このステートメントは、zhuanid = 0 および catid in(a,b,c,d,e) および empty =0
として書き換えられます。<> これによりインデックスが削除されましたか?
select が必要かどうかは疑う価値があります。個別にインデックスを作成した場合、mysql オプティマイザーが独自に判断します。カバリングインデックスを使用できます