日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

《高性能mysql》之MySQL高级特性(第七章)

發布時間:2023/12/10 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《高性能mysql》之MySQL高级特性(第七章) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
①分區表: ?????-- 分區表限制: 一把表最多1024個分區 分區表中無法使用外鍵約束
???-- 分區表注意點: 按行寫入大量數據時分區過多會出現問題,所以對大多數系統,100左右個分區是沒有問題的 注:鍵分區和哈希分區沒有此問題
-- 查詢優化:對于訪問分區來說,在where中帶分區列是很重要的(能過濾部分分區) ?注:where中要使用分區函數列本身才能過濾分區,如where time='2017',而where YEAR(time)=2017錯誤 ②視圖: 概念:虛擬表,不存數據,數據來自其他表 更新視圖:更新列必須來自同一表,且含GROUP BY、UNION、聚合函數及特殊情況不能更新 對性能的影響:重構數據庫時可使用視圖而不必修改表結構,用視圖創建基于列的權限控制減少額外開銷等 視圖的限制:不支持物化視圖(即視圖在表中不可查看),不支持視圖中建索引
③外鍵索引: InnoDB是mysql目前唯一支持外鍵索引的內置引擎 外鍵成本:外鍵每次修改數據時都要求在另一張表多執行一次查找,當然外鍵在相關數據刪除和更新上比在應用中維護更高效注:許多案例中發現,在對性能分析時發現外鍵就是瓶頸所在,刪除外鍵后性能立即大幅提升。
④在mysql內部存儲代碼: 存儲過程和觸發器(可在你執行insert、update、delete時觸發)、游標 ?---另開文章細說
⑤字符集和校對: 字符集編碼優先級:列>表>數據庫 校對規則:_cs、_ci、_bin分別對應 大小寫不敏感、大小寫敏感、二進制值
⑥全文索引: mysql不支持中文全文索引,應用其他引擎如 Sphinx等 ⑦分布式(XA)事務: 企業報在分布式多數據庫下仍能保證事務的ACID
⑧查詢緩存: -- 概念:緩存select結果,跳過解析、優化、執行階段。 查詢緩存是完全存儲在內存中。mysql無法為每一個查詢結果精確分配大小剛好配匹的緩存空間。 -- 查詢緩存無法命中的原因:包含不確定的函數、未處理過該查詢、內存用完被逐出 -- 如何判斷查詢緩存是否有效: ? ?? 查看Qache_hits和Qache_inserts的比值(3:1查詢緩存有效,10:1最佳) -- 配置和維護查詢緩存: 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 減少碎片:命令 FLUSH QUERY CACHE ?完成碎片整理 ?-- InnoDB和查詢緩存:表上有任何的鎖,該查詢結果無法緩存;sql語句有ON DELETE CASCADE,則相關聯查詢緩存一起失效 通用查詢緩存優化:1) 用多個小表代替一個大表對查詢緩存 2)批量寫入時只需要做一次緩存失效 3)緩存空間太大,服務器可能僵死,辦法是控制大小或禁用 4)用SQL_CACHE、SQL_NO_CACHE控制某個select是否緩存 5)對于寫密集型應用,直接禁用查詢緩存更好 注:若需要更高的緩存效率,推薦使用memcached或redis之類

總結

以上是生活随笔為你收集整理的《高性能mysql》之MySQL高级特性(第七章)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。