亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據庫知識筆記

發布時間:2020-08-09 14:14:06 來源:網絡 閱讀:449 作者:netpeak 欄目:數據庫

1、強制使用decimal存儲小數,不使用float、double,防止精度損失,如果存儲的數據范圍超過 decimal 的范圍,建議將數據拆成整數和小數分開存儲。這也是阿里的強制開發規范。

2、高效分頁

limit m,n其實質就是先執行limit m+n,然后從第m行取n行,這樣當limit翻頁越往后翻m越大,性能越低。比如

select * from A limit 100000,10,這種sql語句的性能是很差的,建議改成下面的版本:

selec id,name,age from A where id >=(select id from A limit 100000,1) limit 10

3、InnoDB的行鎖加上死鎖檢測機制會導致數據庫CPU短時間內被占滿,導致整庫幾乎無法響應。 

4、對數據分組的總結:

1 分組函數只能出現在選擇列表、having、order by子句中(不能出現在where中) 。

2 如果在select語句中同時包含有where,group by, having, order by 那么它們的順序是where,group by, having, order by 。

3 在選擇列中如果有列、表達式和分組函數,那么這些列和表達式必須有一個出現在group by 子句中,否則就會出錯。

如SELECT deptno, AVG(sal), MAX(sal) FROM emp GROUP by deptno HAVING AVG(sal) < 2000;

這里deptno就一定要出現在group by 中。

5、sql排序默認是升序(從小到大),直接order by,降序是desc。

6、子查詢比關聯查詢效率高。

MySQL

mysql的innodb的底層存儲模型是B+樹,它使用主鍵作為聚簇索引,使用插入的數據作為葉子節點,通過主鍵可以很快找到葉子節點,從而快速獲取記錄。主鍵最好要自增。因為自增主鍵可以讓插入的數據按主鍵順序插入到底層的B+樹的葉子節點中,由于是按序的,這種插入幾乎不需要去移動已有的其它數據,所以插入效率很高。如果主鍵不是自增的,那么每次主鍵的值近似隨機,這時候就有可能需要移動大量數據來保證B+樹的特性,增加了不必要的開銷。

對于mysql的join,它用的是Nested Loop Join算法,也就是通過前一個表查詢的結果集去后一個表中查詢,比如前一個表的結果集是100條數據,后一個表有10W數據,那么就需要在100*10W的數據集合中去過濾得到最終的結果集。因此,盡量用小結果集的表去和大表做join,同時在join的字段上建立索引,如果建不了索引,就需要設置足夠大的join buffer size

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兖州市| 普安县| 石楼县| 平邑县| 洞口县| 新田县| 通化县| 大埔区| 邻水| 涟水县| 察哈| 瑞金市| 青神县| 喀什市| 瑞安市| 松江区| 舟山市| 嘉祥县| 临泉县| 通山县| 湖南省| 于都县| 泰兴市| 乌拉特后旗| 龙江县| 卢湾区| 阿拉善左旗| 瓦房店市| 玛纳斯县| 昌宁县| 同江市| 徐水县| 东源县| 南京市| 波密县| 永修县| 墨玉县| 安远县| 梧州市| 马公市| SHOW|