Mysql是比力風行的關系型數據庫,出格在web網站方面用得比力多。sql語句查詢數據庫效率的凹凸,直接影響到網站的拜候速度,下面介紹Mysql中sql語句的幾種優化方式。
查詢數據庫的數據盡量利用索引來查詢。例如,一張user用戶數據表的id字段為索引,name為用戶名字段(非索引字段),當查詢某條數據時,直接用id查詢比用name查詢效率會高良多。
從數據庫中查詢數據,sql語句盡量避免利用or來毗連前提查詢數據。因為利用or會導致執行sql的時辰進行全表查詢,而不是利用索引查詢。例如,SQL語句select id from user where name='a' or name='b',可以改為以下的形式來提高查詢的效率:
在持續數值的查詢中,能利用between的環境下,盡量利用between,而不利用in。in和not in城市導致全表查詢。
sql語句的where查詢前提,對字段進行表達式操作,會導致mysql引擎拋卻利用索引而進行全表掃描查詢。
sql語句的where查詢前提,對字段進行函數操作,也會導致mysql引擎拋卻利用索引而進行全表掃描查詢。例如,下面語句查詢name字段以abc開首的id,可以更改寫法,提高查詢的效率。
多張數據表查詢數據,利用inner join,left/right join來取代子查詢,可以提高查詢的效率。
在利用like進行數據表的查詢時,能用單%的環境下,不建議利用雙%,雙%查詢會導致mysql引擎拋卻利用索引而進行全表掃描查詢。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!