在
中,提到了在mysql中,如果在sql語句中有各類=,>等符號,應該如何選擇索引做了簡單的小結
1) select c1, c2 from t where c = 100
當然建立(c, c1, c2)索引最高效了
2) 多個=的情況
select * from t where c = 100 and d = 'xyz'
索引應該是(c,d)或者(d,c)
3) 有相等也有不等的情況
select * from t where c > 100 and d = 'xyz'
這個時候要先(d,c),先選擇等於的d在索引順序前更好
4) 多個相等,不等並存
select * from t where c > 100 and b < 10 and d = 'xyz'
這個時候,用(d,c)還是(d,b)要看具體情況
5) 有相等並order的情況
select * from t where c = 100 and d = 'xyz' order by b
原則是首先過濾,再排序,
所以選擇建立(d,c,b)(c,d,b)都是不錯的選擇
6)有不等和order情況
select * from t where c > 100 and d = 'xyz' order by b
這個時候看具體情況:
(d,b),(d,c)
MySQL中SQL語句的分類
用於建立 修改 和刪除資料庫內的資料結構,如 1 建立和刪除資料庫 create database drop database 2 建立 修改 重新命名 刪除表 create table alter table rename table drop table 3 建立和刪除索引 createinde...
細數MySQL中SQL語句的分類
1 資料定義語言 ddl 用於建立 修改 和刪除資料庫內的資料結構,如 1 建立和刪除資料庫 create database drop database 2 建立 修改 重新命名 刪除表 create table alter table rename table drop table 3 建立和刪除...
mysql語句查 mysql中SQL語句查
show tables 檢視或顯示所有表名 show databases 檢視或顯示所有資料庫名 desc 表名 檢視表結構 select form 表名 查詢表中所有欄位的值 select from 表名 order by 指定欄位名 desc 按照指定字段降序查詢表中資料資訊 select fr...