中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

數據庫知識筆記

發布時間: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

阜宁县| 大冶市| 龙游县| 仙游县| 惠来县| 鄂托克前旗| 阜康市| 望江县| 招远市| 望城县| 大厂| 类乌齐县| 潮安县| 灵山县| 渭南市| 安徽省| 桐乡市| 昂仁县| 阿坝县| 临夏市| 浦县| 水城县| 益阳市| 吉林省| 吉木乃县| 滁州市| 广宗县| 陕西省| 雅江县| 永新县| 临邑县| 临颍县| 高州市| 墨玉县| 尚志市| 布拖县| 唐山市| 龙井市| 庄浪县| 焉耆| 奉化市|