#mysql單列索引與聯合索引介紹
--
1.or兩邊乙個單列索引,乙個沒索引,索引不生效()
explain
select
*from me_sku
where sku_name_code =
'jcxcmft'
or product_id =
'7016497'
--2.
or兩邊都是單列索引,兩個索引生效
(多個or,多個單列索引均生效)
,只要有乙個條件不是索引就不走索引
explain
select
*from me_sku
where sku_name_code =
'jcxcmft'
or original_product_code =
'1012561000181'
or spec =
'2只'
or package_unit =
'21383'
--3.
and兩邊都是單列索引,兩個索引只有乙個生效
(多個and多個單列索引也只有乙個索引生效)
explain
select
*from me_sku
where sku_name_code =
'jcxcmft'
and original_product_code =
'1012561000181'
and spec =
'2只'
and package_unit =
'21383'
--4.
or兩邊聯合索引,用or不啟用索引()
explain
select
*from me_sku
where sku_code =
'q5190007'
or spu_code =
'1208631'
alter
table me_sku drop
column sku_alias_text
--5.
資料量較小的時候,or兩邊都是單列索引,也不啟用索引
(資料量大起作用)
explain
select
*from orderitem
where pid =
'35'
or oid =
'7455381656944af79b00568f1663984e'
--6.
大於號小於號
(視實際情況確定是否啟用索引)
explain
select
*from me_sku
where standard_lib_id <
5020595
and update_user =
'zhongtai_test6'
and quality_standard =
'q/jyw003-2018'
mysq l單列索引 or 聯合索引
在使用資料庫的時候會經常使用到索引,單列索引是最常見 使用最多的,但是我們也經常遇到需要使用聯合索引的場景,下邊簡單說明如何抉擇使用何種索引。1,首先要確定優化的目標,在什麼樣的業務場景下,表的大小等等。如果表比較小的話,可能都不需要加索引 2,哪些字段需要建索引,一般都where order by...
MySQL單列索引和聯合索引
所有的mysql列型別能被索引。在相關的列上的使用索引是改進select操作效能的最好方法。乙個表最多可有16個索引。最大索引長度是256個位元組,儘管這可以在編譯mysql時被改變。對於char和varchar列,你可以索引列的字首。這更快並且比索引整個列需要較少的磁碟空間。在create tab...
MySQL單列索引和聯合索引
mysql單列索引和聯合索引 所有的mysql列型別能被索引。在相關的列上的使用索引是改進select操作效能的最好方法。乙個表最多可有16個索引。最大索引長度是256個位元組,儘管這可以在編譯mysql時被改變。對於char和varchar列,你可以索引列的字首。這更快並且比索引整個列需要較少的磁...