關於資料庫以及SQL語句優化的一些方法

2021-09-16 22:31:21 字數 688 閱讀 6086

sql以及hql的使用很簡單,但是想要用好,提高查詢效率卻需要優化,下面分享幾條優化方法。

1.首先從表說起,

(1)在建立表的時候,要對那些需要經常查詢的字段建立索引,提高查詢速度。

(2)對於字段比較多的大表,進行拆分,將經常需要查詢的字段放在一張表中,其餘字段放在其他表中。

(3)將經常需要聯合查詢的字段,建立乙個中間表,以後查詢就去中間表中查詢那些字段

2.從sql語句優化

(1)sql語句中in包含的值不應過多

(2)select語句務必指明要查詢的名稱

(3)當只需要顯示一部分資料的時候,使用limit語句

(4)如果排序字段沒有索引就盡量少排序

(5)如果限制條件中其他字段沒有索引,盡量少用or

(6)盡量用union all代替union

(7)使用合理的分頁方式以提高分頁效率

(8)避免在where子句中對字段進行null判斷

(9)不建議使用%字首模糊查詢(如like %me),這種查詢會導致索引失效而進行全表掃瞄,但是可以用like 「name%」

(10)避免在where子句中對字段進行表示式操作

關於join的優化

(1)盡量使用inner join,避免left join

(2)利用小表驅動大表

(3)合理利用索引,被驅動表的索引字段作為on的限制字段

資料庫優化 sql語句優化

1 group by語句優化 因為mysql對所有group by的字段進行排序,所以如果包含group by但是想要避免排序結果的消耗,可以指定order by null來進行group by的排序。select id,sun moneys from sales group by id expla...

資料庫 sql語句優化

寫操作 write 1 如果你同時從同一客戶插入很多行,使用多個值表的insert語句。這比使用分開insert語句快 在一些情況中幾倍 insert into test values 1,2 1,3 1,4 2 如果你從不同客戶插入很多行,能通過使用insert delayed語句得到更高的速度。...

資料庫優化以及常用的語句

部分摘自 1 ddl和dml dml 資料操縱語言 比如insert,delete,update dql 資料查詢語言 select 查詢語句不存在提交問題 ddl 資料定義語言 如create,alter和drop 2 oracle 分頁 select c.from select a.row nu...