面對當前的大數據,sql的性能直接影響到了網站的成本,不少時候,咱們在寫一些查詢的時候,爲了簡便,而不會考慮一些sql的性能。這樣日積月累,會使數據庫承擔的壓力愈來愈大,致使最後的結果就是須要花費更多的人力無力來解決數據庫問題了。html
這裏參考一篇國外的文章,給出了 6個提高 select 語句性能的關鍵。sql
在須要在 WHERE 以及 JOIN 語句中使用到的字段添加索引。並進行測試。數據庫
當你的表數據僅有幾千條的時候,你也許不會注意到,但不少時候,數據量是很大的,若是不限制下查詢結果的大小,搜索效率會大大降低。好比說限制下,僅查看前兩百條記錄,或者僅查看當月的記錄,等等。網絡
一樣,在子查詢中。要是子查詢的結果量很大,這也是很是不合適的。工具
在咱們的查詢中,每每會多出一些無用的字段信息,這會致使一堆無用的信息返回SQL的客戶端。 當咱們用到分析數據工具時候,生成的信息每每會很慢,由於讓蒐集了全部信息進行分析整理。接收了詳細的數據表格。 還有就是某些時候,會感受查詢很快,有些時候會很慢,這是由於,數據在網絡傳輸中受到了影響,這裏固然是在網絡中傳輸的數據越少越好。 當咱們查看一些數據時,咱們會選擇其中幾列來查看,這由於會減小磁盤的IO開銷。從而得到更快的速度性能
在sql語句中去除沒必要要的表,和去除沒必要要的字段相似。測試
有些時候,咱們在使用 OUTER JOINS 的時候,連接的那張表數據字段並不完整,會有一些 NULL 的信息。這裏咱們須要使用佔位符來填充咱們的字段,方能加快數據查詢。大數據
在 WHERE 或 JOIN 中進行計算會影響數據查詢, 好比 where a = 1+1 這類網站