索引及ORM框架

2022-02-22 16:08:44 字數 1184 閱讀 8997

day44

1.什麼是索引????

搜尋引導,是一種特殊的資料結構(b+樹)

2.為什麼需要索引:

為了提高查詢速度,

原理:通過縮小查詢範圍來減少io次數

3.索引帶來的影響

寫入速度變慢了, 每次修改 如果修改了索引欄位將引發索引結構的重建

磁碟占用變高

不一定能加速,得看sql是否正確使用到了索引

4.如何正確使用 參考昨日總結

2.and語句至少包含乙個具備索引的字段

3.避免使用or語句,用的話只有所有欄位都有索引時才能加速查詢

4.不要再等號左邊做運算操作 ,保證等號右邊是乙個固定的值

5.模糊查詢時,百分號不要放在前面

6.聯合索引建立時,區分度高的放在最左邊 低的放右邊, 查詢語句中必須包含最左邊的索引字段

7.索引應該建立在區分度高的字段上

8.盡量保證查詢語句中的字段是覆蓋, 需要哪個欄位就差哪個字段 不要查詢其它的

查詢計畫 可以明確的顯示mysql將要進行的操作,可以檢查出語句不合理的放,

慢查詢優化,可以設定乙個最大執行時間,如果某條語句執行時間超過這個最大值,就自動記錄這條一語句

orm 物件關係對映, 指的是物件和資料庫之間的關係

為什麼做對映? 可以避免重複編寫sql語句

orm可以幫我們生成sql語句,執行,並獲取結果,在轉為物件

object -> databases -> object

之所以寫 是為了更好的理解框的實現原理

我們自動生成那些sql語句 ?

建立表的語句

增刪改查

乙個專案對應 乙個資料庫

乙個類對應乙個表

乙個物件一條記錄

乙個屬性對應乙個字段

當在專案中建立乙個類時就根據型別的資訊自動生成表

使用元類來控制類的建立過程,

當我們建立乙個物件時並儲存時就根據物件的資訊自動生成一條記錄

給物件增加 儲存方法

當我們要修改某乙個物件的屬性時,自動生成修改的語句

給物件提供乙個 更新方法

當要刪除的時候,自動生成刪除記錄的語句

給物件提供乙個 刪除方法

當我們需要獲取某一類的資料時,自動生成查詢語句,並將查詢結果轉為物件

各類提供乙個用於獲取物件的方法

ORM框架試驗

public class orm 新增方法 public int add t obj columnnames columns 0 columnname 列名列表 值的列表 values common.getdbvalue columns 0 columntype,convert.tostring p...

開源ORM框架iBATIS

除了hibernate外,另一流行的orm框架ibatis也使用廣泛。兩者的不同的在於,hibernate提供的是 一站式 的orm解決方案,而ibatis提供的是 半自動化 的orm實現。hibernate提供了從pojo到資料庫表的全套對映機制,開發人員往往只需要定義好pojo到資料庫表的對映關...

ORM框架 Dapper案例

查詢列表 查詢的sql 替換引數 public static listquery string sql,object param 查詢第乙個資料 public static t queryfirst string sql,object param 返回乙個物件集合 public static lis...