mysql建立了索引但是leftjoin索引失效

2021-09-19 03:59:33 字數 1125 閱讀 2934

select

a.*, concat_ws('', parent. name, b. name) cityname,

concat_ws(

'%',

att.attachment_name,

attachment_url

) attachment,

c. name companyname,

d. name typename,

e. name stagename,

f. name winningbidcompanyname

from

bid_info a

left join sys_city_info b on b. code = a.city_code

left join company_info c on a.company_id = c.id

left join dic_bid_type d on a.bid_code = d. code

left join dic_project_stage e on e. code = a. status

left join company_info f on a.winning_bid_company_id = f.id

left join sys_city_info parent on b.parent_code = parent. code

left join attach_info att on att.foreign_key = a.id

and att.type = '1'

where

1 = 1

order by

create_time

limit 0,10

就這條sql語句查詢速度非常慢

其中對sql進行 explain分析,發現是下面這張表的索引沒有生效

left join dic_bid_type d on a.bid_code = d. code

各種分析了網上說的可能有的原因都還是沒有解決,最後好像是偶然在哪兒看到說

資料庫中的資料太少也會導致索引失效

結果真的是這個原因,因為我這張表資料庫裡面就四條資料,增加了幾條多餘資料過後索引就生效了。

docker建立了網路但是加入網路失敗解決辦法

1.建立乙個docker網路docker network create fabric ca2.編寫compose檔案,容器想要加入這個網路version 2 services ca root image hyperledger fabric ca 1.4 container name ca root...

(索引)建立MySQL索引

建立索引的必要性 主鍵預設是建立索引的,而且具有唯一性 合適地建立索引後比不建立索引,提高了查詢速度 建立索引的語法 簡單索引 可以有重複資料 create index indexname on tablename column name 1舉例子說明如 建立乙個資料表,設定一些初始的資料,然後採用...

c mysql建立索引 MySQL 建立索引

1 索引建立原則 1 搜尋的索引列,不一定是所要選擇的列。換句話說,最適合索引的列是出現在where子句中的列,或連線子句中指定的列,而不是出現在select關鍵字後的選擇列表中的列。2 使用唯一索引。考慮某列中值的分布。索引的列的基數越大,索引的效果越好。3 使用短索引。如果對字串列進行索引,應該...