mysql學習整理所有問題

电器小君子發表於2024-03-16

mysql中的者則表示式(也算做是模糊查詢)

使用//.來匹配有.的字元

數字或者字母后邊加上?表示數字或者字母可選還是不可選

拼接字串concat()

文字處理函式

同時指定兩個列進行全文搜尋(前提是這兩個列必須增加索引)和against(“” in boolen mode)進行連用

使用儲存過程

其中onumber入參,taxable入參,ototal出參

declare 聲名引數

處理資料庫分頁問題

2.深層次理解資料庫
也是基於tcpIP協議的,基於Unix的巢狀字檔案
InnoDB資料庫引擎

常數表示式

isNull是全表掃描所以需要最佳化

mysql學習整理所有問題

in和多個or是有區別,in中使用的是二分查詢樹發

mysql學習整理所有問題

關聯查詢最佳化器:
在多個表進行關聯的時候,最佳化器會自動篩選出資料庫的表進行二叉樹的最優解

關係型資料庫和非關係型資料庫
為什麼加對應的欄位,因為要將讀取出的資料並儲存到記憶體中去(降低記憶體)
orm物件關係對映和類進行對應    
資料庫語言分類
1.DDL資料庫定義語言
2.資料庫操縱語言
3.資料庫控制語言
dual偽表
5.7版本Limit 0,20 跳過 0 條顯示20
8.0 版本 Limit 20 offset 0

加密
mysql學習整理所有問題

自然連結和using連結 欄位一致的時候使用

mysql學習整理所有問題

需要設定mysql學習整理所有問題

mysql學習整理所有問題

truncate table 的效率比delete效率快

mysql8.0 :的原子化的特性新增特性
計算列

mysql學習整理所有問題

mysql學習整理所有問題

全文檢索

mysql學習整理所有問題

資料庫效能最佳化:
索引的底層結構是透過B+樹進行構建的,
1.聚簇索引

在我們新增主鍵的時候會自動生成索引,並且它的結構是:

二分查詢法,在索引的頁中會儲存子頁的頁碼以及主鍵對應的值
2.非聚簇索引

二分查詢法,在索引的頁中會儲存子頁的頁碼以及欄位對應的值
3.複合索引

二分查詢法,在索引的頁中會儲存子頁的頁碼以及按順序的欄位對應的值

應用方式,不管是增刪改查where條件後面的都要加上對應的索引

因為:sql是先執行 from 後 where的字敦 在修改和刪除的時候可以看成是先查詢,只要查詢就要增加索引進行查詢

在join的時候使用using和on後面連結的欄位型別必須一致:因為如果不一致存在型別轉換的話那麼索引將會失效,失效是指where條件之後的索引失效

第一1000行資料時候不需要建立索引,有大量重複資料的時候不需要建立索引

避免對頻繁更新的表建立過多的索引

避免用無序的值生成索引

不用的索引要刪除掉

不要定義冗餘的索引

查詢資料所儲存的所有的資料頁:最後一次查詢的開銷

mysql學習整理所有問題

使用慢查詢來最佳化資料庫:

1.開啟慢查詢日誌

mysql學習整理所有問題此時狀態為未開啟

開啟

mysql學習整理所有問題

檢視日誌引數:開啟狀態,開啟檔案

mysql學習整理所有問題

永久設定日誌:修改配置
mysql學習整理所有問題

真正的最佳化,索引失效:

1.where 後面的欄位是運算子

2.where後面有or的時候所有欄位要都有索引

3.模糊查詢以%開頭

4.有比較運算子號

5.!=的情況下不能使用索引

6.is null 能使用索引,is not null 不能使用索引

7.聯合索引最左原則

相關文章