久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL高級特性都有哪些

131次閱讀
沒有評論

共計 1380 個字符,預計需要花費 4 分鐘才能閱讀完成。

今天就跟大家聊聊有關 MySQL 高級特性都有哪些,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

概述

閑來無事,看了下高性能 mysql 這本書,其中的一些 MySQL 高級特性寫的還不錯,在這里總結分享下。

01. 分區表

1、分區表限制

一張表最多 1024 個分區

分區表中無法使用外鍵約束

2、分區表注意點

按行寫入大量數據時分區過多會出現問題,所以對大多數系統,100 左右個分區是沒有問題的

注:鍵分區和哈希分區沒有此問題

3、查詢優化

對于訪問分區來說,在 where 中帶分區列是很重要的(能過濾部分分區)

注:where 中要使用分區函數列本身才能過濾分區,如 where time= 2017,而 where YEAR(time)=2017 錯誤

02. 視圖

1、概念

虛擬表,不存數據,數據來自其他表

2、更新視圖

更新列必須來自同一表,且含 GROUP BY、UNION、聚合函數及特殊情況不能更新

3、對性能的影響

重構數據庫時可使用視圖而不必修改表結構,用視圖創建基于列的權限控制減少額外開銷等

4、視圖的限制

不支持物化視圖(即視圖在表中不可查看),不支持視圖中建索引

03. 外鍵索引

InnoDB 是 mysql 目前唯一支持外鍵索引的內置引擎

外鍵成本:外鍵每次修改數據時都要求在另一張表多執行一次查找,當然外鍵在相關數據刪除和更新上比在應用中維護更高效。

注:許多案例中發現,在對性能分析時發現外鍵就是瓶頸所在,刪除外鍵后性能立即大幅提升。

04. 字符集和校對

字符集編碼優先級:列 表 數據庫

校對規則:_cs、_ci、_bin 分別對應大小寫不敏感、大小寫敏感、二進制值

05. 全文索引

mysql 不支持中文全文索引,應用其他引擎如 Sphinx 等

06. 分布式 (XA) 事務

企業在分布式多數據庫下仍能保證事務的 ACID,這里后面單獨介紹。

07. 查詢緩存

概念:緩存 select 結果,跳過解析、優化、執行階段。

查詢緩存是完全存儲在內存中。mysql 無法為每一個查詢結果精確分配大小剛好配匹的緩存空間。

查詢緩存如何分配內存來存儲結果數據

查詢緩存無法 *** 的原因:包含不確定的函數、未處理過該查詢、內存用完被逐出

配置和維護查詢緩存:

query_cache_type:是否打開查詢緩存,設置成 ON、OFF、DEMAND(這個僅在明確寫明 SQL_CACHE 下才放入緩存)

query_cache_size:查詢緩存使用的總內存空間(值是 1024 整數倍)

query_cache_min_res_unit:查詢緩存中分配內存塊時的最小單位。

query_cache_limit:MySQL 能緩存的 *** 查詢結果

query_cache_wlock_invalidate:某表被鎖住,是否仍然從查詢緩存返回結果,默認 OFF

通用查詢緩存優化:

1) 用多個小表代替一個大表對查詢緩存

2)批量寫入時只需要做一次緩存失效

3)緩存空間太大,服務器可能僵死,辦法是控制大小或禁用

4)用 SQL_CACHE、SQL_NO_CACHE 控制某個 select 是否緩存

5)對于寫密集型應用,直接禁用查詢緩存更好

注:若需要更高的緩存效率,推薦使用 memcached 或 redis 之類

看完上述內容,你們對 MySQL 高級特性都有哪些有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注丸趣 TV 行業資訊頻道,感謝大家的支持。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計1380字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 嘉定区| 延津县| 泰宁县| 新乡县| 剑川县| 疏勒县| 屏山县| 龙川县| 邳州市| 肃北| 徐水县| 游戏| 鄂州市| 平湖市| 景宁| 常宁市| 武安市| 益阳市| 门头沟区| 云阳县| 南投市| 延寿县| 茂名市| 安岳县| 拉萨市| 台前县| 河源市| 化州市| 东兰县| 从化市| 治县。| 瓮安县| 琼海市| 津市市| 东阳市| 武宁县| 福安市| 务川| 冷水江市| 砀山县| 读书|