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...