主頁 > 資料庫 > 贊!7000 字學習筆記,一天搞定 MySQL

贊!7000 字學習筆記,一天搞定 MySQL

2020-09-12 08:46:17 資料庫

MySQL資料庫簡介

MySQL近兩年一直穩居第二,隨時有可能超過Oracle計晉升為第一名,因為MySQL的性能一直在被優化,同時安全機制也是逐漸成熟,更重要的是開源免費的,

MySQL是一種關系資料庫管理系統,關系資料庫將資料保存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度并提高了靈活性,

MySQL所使用的 SQL 語言是用于訪問資料庫的最常用標準化語言,MySQL 軟體采用了雙授權政策,分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫,

如果不會安裝MySQL請移步:MySQL服務安裝

MySQL InnoDB存盤引擎

  • 存盤引擎InnoDB是目前MySQL版本默認的存盤引擎,也是MySQL推薦使用的存盤引擎,是集高可靠性和高性能于一身的存盤引擎,

  • 在MySQL5.7版本中,除非在組態檔中顯視指定default storage engine或者創建表時顯視使用engine=陳述句指定其它的存盤引擎,否則默認都是InnoDB,

InnoDB存盤引擎的優勢:

  • DML陳述句支持事務功能,保證ACID特性

  • 行級鎖的使用保證了高并發的屬性

  • InnoDB對有主鍵的表會依據主鍵優化查詢性能,也稱聚簇索引,將所有資料存盤在聚簇索引上以減少對主鍵查詢的IO消耗

  • 為保證資料的一致性,InnoDB還支持外鍵屬性,確保有外鍵約束的表之間不會有不一致的資料

  • 當服務器硬體或者軟體故障導致MySQL重啟后,InnoDB會自動識別已經在故障之前提交的資料,并回退所有故障時未提交的資料,最大限度的保護資料不會丟失(crash recovery)

1、事物(Transaction)
2、MVCC(多版本并發控制)
3、行級鎖(Row-level Lock)
4、支持外鍵
5、ACSR(Auto Crrash safe Recovery)自動的故障安全恢復
6、支持熱備份

MySQL復制集群原理與實戰

MySQL復制有兩種方法:
  • 傳統方式:基于主庫的bin-log將日志事件和事件位置復制到從庫,從庫再加以 應用來達到主從同步的目的,

  • Gtid方式:global transaction identifiers是基于事務來復制資料,因此也就不 依賴日志檔案位置,同時又能更好的保證主從庫資料一致性,

MySQL資料庫主從同步實戰程序

MySQL 主從同步架構中你不知道的“坑”(上)

MySQL 主從同步架構中你不知道的“坑”(下)

資料備份多種方式:
  • 物理備份是指通過拷貝資料庫檔案的方式完成備份,這種備份方式適用于資料庫很大,資料重要且需要快速恢復的資料庫

  • 邏輯備份是指通過備份資料庫的邏輯結構(create database/table陳述句)和資料內容(insert陳述句或者文本檔案)的方式完成備份,這種備份方式適用于資料庫不是很大,或者你需要對匯出的檔案做一定的修改,又或者是希望在另外的不同型別服務器上重新建立此資料庫的情況

  • 通常情況下物理備份的速度要快于邏輯備份,另外物理備份的備份和恢復粒度范圍為整個資料庫或者是單個檔案,對單表是否有恢復能力取決于存盤引擎,比如在MyISAM存盤引擎下每個表對應了獨立的檔案,可以單獨恢復;但對于InnoDB存盤引擎表來說,可能每個表示對應了獨立的檔案,也可能表使用了共享資料檔案

  • 物理備份通常要求在資料庫關閉的情況下執行,但如果是在資料庫運行情況下執行,則要求備份期間資料庫不能修改

  • 邏輯備份的速度要慢于物理備份,是因為邏輯備份需要訪問資料庫并將內容轉化成邏輯備份需要的格式;通常輸出的備份檔案大小也要比物理備份大;另外邏輯備份也不包含資料庫的組態檔和日志檔案內容;備份和恢復的粒度可以是所有資料庫,也可以是單個資料庫,也可以是單個表;邏輯備份需要再資料庫運行的狀態下執行;它的執行工具可以是mysqldump或者是select … into outfile兩種方式

送你一份生產資料庫備份方案:高逼格企業級MySQL資料庫備份方案

MySQL資料庫物理備份方式:Xtrabackup實作資料的備份與恢復

MySQL復制有多種型別:
  • 異步復制:一個主庫,一個或多個從庫,資料異步同步到從庫,

  • 同步復制:在MySQL Cluster中特有的復制方式,

  • 半同步復制:在異步復制的基礎上,確保任何一個主庫上的事務在提交之前至 少有一個從庫已經收到該事務并日志記錄下來,

  • 延遲復制:在異步復制的基礎上,人為設定主庫和從庫的資料同步延遲時間, 即保證資料延遲至少是這個引數,

MySQL主從復制延遲解決方案:高可用資料庫主從復制延時的解決方案

MySQL高可用架構設計與實戰

先來了解一下MySQL高可用架構簡介:淺談MySQL集群高可用架構
MySQL高可用方案:MySQL 同步復制及高可用方案總結
官方也提供一種高可用方案:官方工具|MySQL Router 高可用原理與實戰
MHA
  • MHA(Master High Availability)目前在MySQL高可用方面是一個相對成熟的解決方案,該軟體由兩部分組成:MHA Manager(管理節點)和MHA Node(資料節點,

  • MHA Manager: 可以單獨部署在一臺獨立的機器上管理多個master-slave集群,也可以部署在一臺slave節點上,

  • MHA Node: 行在每臺MySQL服務器上,

  • MHA Manager會定時探測集群中的master節點,當master出現故障時,它可以自動將最新資料的slave提升為新的master,然后將所有其他的slave重新指向新的master,整個故障轉移程序對應用程式完全透明,

MHA高可用方案實戰:MySQL集群高可用架構之MHA

MGR
  • Mysql Group Replication(MGR)是從5.7.17版本開始發布的一個全新的高可用和高擴張的MySQL集群服務,

  • 高一致性,基于原生復制及paxos協議的組復制技術,以插件方式提供一致資料安全保證;

  • 高容錯性,大多數服務正常就可繼續作業,自動不同節點檢測資源征用沖突,按順序優先處理,內置動防腦裂機制;

  • 高擴展性,自動添加移除節點,并更新組資訊;

  • 高靈活性,單主模式和多主模式,單主模式自動選主,所有更新操作在主進行;多主模式,所有server同時更新,

MySQL性能優化

史上最全的MySQL高性能優化實戰總結!
MySQL索引原理:MySQL 的索引是什么?怎么優化?
  • 顧名思義,B-tree索引使用B-tree的資料結構存盤資料,不同的存盤引擎以不同的方式使用B-Tree索引,比如MyISAM使用前綴壓縮技術使得索引空間更小,而InnoDB則按照原資料格式存盤,且MyISAM索引在索引中記錄了對應資料的物理位置,而InnoDB則在索引中記錄了對應的主鍵數值,B-Tree通常意味著所有的值都是按順序存盤,并且每個葉子頁到根的距離相同,

  • B-Tree索引驅使存盤引擎不再通過全表掃描獲取資料,而是從索引的根節點開始查找,在根節點和中間節點都存放了指向下層節點的指標,通過比較節點頁的值和要查找值可以找到合適的指標進入下層子節點,直到最下層的葉子節點,最終的結果就是要么找到對應的值,要么找不到對應的值,整個B-tree樹的深度和表的大小直接相關,

  • 全鍵值匹配:和索引中的所有列都進行匹配,比如查找姓名為zhang san,出生于1982-1-1的人

  • 匹配最左前綴:和索引中的最左邊的列進行匹配,比如查找所有姓為zhang的人

  • 匹配列前綴:匹配索引最左邊列的開頭部分,比如查找所有以z開頭的姓名的人

  • 匹配范圍值:匹配索引列的范圍區域值,比如查找姓在li和wang之間的人

  • 精確匹配左邊列并范圍匹配右邊的列:比如查找所有姓為Zhang,且名字以K開頭的人

  • 只訪問索引的查詢:查詢結果完全可以通過索引獲得,也叫做覆寫索引,比如查找所有姓為zhang的人的姓名

MySQL表磁區介紹:一文徹底搞懂MySQL磁區
  • 可以允許在?個表?存盤更多的資料,突破磁盤限制或者?件系統限制,

  • 對于從表?將過期或歷史的資料移除在表磁區很容易實作,只要將對應的磁區移除即可,

  • 對某些查詢和修改陳述句來說,可以?動將資料范圍縮?到?個或?個表磁區上,優化陳述句執?效率,?且可以通過顯示指定表磁區來執?陳述句,?如 select * from temp partition(p1,p2) where store_id < 5;

  • 表磁區是將?個表的資料按照?定的規則?平劃分為不同的邏輯塊,并分別進?物理存盤,這個規則就叫做磁區函式,可以有不同的磁區規則,

  • MySQL5.7版本可以通過show plugins陳述句查看當前MySQL是否?持表磁區功能,

  • MySQL8.0版本移除了show plugins?對partition的顯示,但社區版本的表磁區功能是默認開啟的,

  • 但當表中含有主鍵或唯?鍵時,則每個被?作磁區函式的欄位必須是表中唯?鍵和主鍵的全部或?部分,否則就?法創建磁區表,

MySQL分庫分表

  • 能不分就不分,1000萬以內的表,不建議分片,通過合適的索引,讀寫分離等方式,可以很好的解決性能問題,

  • 分片數量盡量少,分片盡量均勻分布在多個DataHost上,因為一個查詢SQL跨分片越多,則總體性能越差,雖然要好于所有資料在一個分片的結果,只在必要的時候進 行擴容,增加分片數量,

  • 分片規則需要慎重選擇,分片規則的選擇,需要考慮資料的增長模式,資料的訪 問模式,分片關聯性問題,以及分片擴容問題,最近的分片策略為范圍分片,列舉分片, 一致性Hash分片,這幾種分片都有利于擴容,

  • 盡量不要在一個事務中的SQL跨越多個分片,分布式事務一直是個不好處理的問題,

  • 查詢條件盡量優化,盡量避免Select * 的方式,大量資料結果集下,會消耗大量 帶寬和CPU資源,查詢盡量避免回傳大量結果集,并且盡量為頻繁使用的查詢陳述句建立索引,

資料庫分庫分表概述:資料庫分庫分表,何時分?怎樣分?

Mysql分庫分表方案:MySQL 分庫分表方案,總結的非常好!

Mysql分庫分表的思路:解救 DBA—資料庫分庫分表思路及案例分析

MySQL資料庫讀寫分離高可用

海量資料的存盤和訪問成為了系統設計的瓶頸問題,日益增長的業務資料,無疑對資料庫造成了相當大的負載,同時對于系統的穩定性和擴展性提出很高的要求,隨著時間和業務的發展,資料庫中的表會越來越多,表中的資料量也會越來越大,相應地,資料操作的開銷也會越來越大;另外,無論怎樣升級硬體資源,單臺服務器的資源(CPU、磁盤、記憶體、網路IO、事務數、連接數)總是有限的,最終資料庫所能承載的資料量、資料處理能力都將遭遇瓶頸,分表、分庫和讀寫分離可以有效地減小單臺資料庫的壓力,

MySQL讀寫分離高可用架構實戰案例:

ProxySQL+Mysql實作資料庫讀寫分離實戰

Mysql+Mycat實作資料庫主從同步與讀寫分離

MySQL性能監控

MySQL性能監控的指標大體可以分為以下4大類:

  • 查詢吞吐量

  • 查詢延遲與錯誤

  • 客戶端連接與錯誤

  • 緩沖池利用率

對于MySQL性能監控,官方也提供了相關的服務插件:MySQL-Percona,下面簡單介紹一下插件的安裝

[root@db01 ~]# yum -y install php php-mysql
[root@db01 ~]# wget https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
[root@db01 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
warning: percona-zabbix-templates-1.1.8-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ################################# [100%]
Updating / installing...
   1:percona-zabbix-templates-1.1.8-1 ################################# [100%]

Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates

  

最后,可以配合其它監控工具來實作對MySQL的性能監控,

MySQL服務器配置插件:
  • 修改php腳本連接MySQL的monitor@localhost用戶 

  • 修改MySQL的sock檔案路徑

[root@db01 ~]# sed -i '30c $mysql_user = "monitor";' /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
[root@db01 ~]# sed -i '31c $mysql_pass = "123456";' /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
[root@db01 ~]# sed -i '33c $mysql_socket = "/tmp/mysql.sock";' /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php

 

測驗是否可用( 可以從MySQL中獲取到監控值 )

[root@db01 ~]# /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg
gg:12

# 確保當前檔案的 屬主 屬組 是zabbix,否則zabbix監控取值錯誤,
[root@db01 ~]# ll -sh /tmp/localhost-mysql_cacti_stats.txt
4.0K -rw-rw-r-- 1 zabbix zabbix 1.3K Dec 5 17:34 /tmp/localhost-mysql_cacti_stats.txt

 

移動zabbix-agent組態檔到 /etc/zabbix/zabbix_agentd.d/目錄

[root@db01 ~]# mv /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@db01 ~]# systemctl restart zabbix-agent.service

 

匯入并配置Zabbix模板與主機:

默認模板監控時間為 5分鐘 ( 當前測驗修改為 30s) 同時也要修改Zabbix模板時間

# 如果要修改監控獲取值的時間不但要在zabbix面板修改取值時間,bash腳本也要修改,
[root@db01 scripts]# sed -n '/TIMEFLM/p' /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
TIMEFLM=`stat -c %Y /tmp/$HOST-mysql_cacti_stats.txt`
if [ `expr $TIMENOW - $TIMEFLM` -gt 300 ]; then   
# 這個 300 代表 300s 同時也要修改,

 

默認模板版本為 2.0.9,無法在4.0版本使用,可以先從3.0版本匯出,然后再匯入4.0版本 ,

其實,在實際生產程序中,還是有相關的專業監控資料庫的第三方開源軟體的,民工哥之前也寫過相關的文章,今天發出來供大家參考:強大的開源企業級資料庫監控利器Lepus

MySQL用戶行為安全

  • 假設這么一個情況,你是某公司mysql-DBA,某日突然公司資料庫中的所有被人為刪了,

  • 盡管有資料備份,但是因服務停止而造成的損失上千萬,現在公司需要查出那個做洗掉操作的人,

  • 但是擁有資料庫操作權限的人很多,如何排查,證據又在哪?

  • 是不是覺得無能為力?

  • mysql本身并沒有操作審計的功能,那是不是意味著遇到這種情況只能自認倒霉呢?

學完了就需要出去練一練,最后給大家一些企業面試題供大家練練手:24 個必須掌握的資料庫面試問題!

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/12646.html

標籤:MySQL

上一篇:MySQL實驗 內連接優化order by+limit 以及添加索引再次改進

下一篇:MySQL學習筆記(12):觸發器

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more