免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

go語言gorm獲取索引 go語言調用so

Go語言使用gorm對MySQL進行性能測試

之前寫過了Go語言gorm框架MySQL實踐,其中對gorm框架在操作MySQL的各種基礎實踐,下面分享一下如何使用gorm框架對MySQL直接進行性能測試的簡單實踐。

10年積累的成都網站設計、成都網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有古雷港免費網站建設讓你可以放心的選擇與我們合作。

這里我使用了一個原始的Go語言版本的 FunTester 測試框架,現在只有一個基本的方法,實在是因為Go語言特性太強了。框架設計的主要思路之一就是利用Go語言的閉包和方法參數特性,將一個 func() 當做性能測試的主題,通過不斷運行這個 func() 來實現性能測試。當然還有另外一個思路就是運行一個多線程任務類,類似 Java 版本的 com.funtester.base.constaint.ThreadBase 抽象類,這樣可以設置一些類的屬性,綁定一些測試資源,適配更多的測試場景。

下面演示select的性能測試,這里我用了隨機ID查詢的場景。

這里我使用從35開始遞增的ID進行刪除。

這里使用了select的用例部分,隨機ID,然后更新name字段,隨機10個長度的字符串。

這里用到了 FunTester 字段都是隨機生成。

到這里可以看出,性能測試框架用到的都是gorm框架的基礎API使用,這里MySQL連接池的管理工作完全交給了gorm框架完成,看資料說非常牛逼,我們只需要設置幾個參數。這個使用體現很像 HttpClient 設置 HTTP 連接池類似,這里我們也可以看出這些優秀的框架使用起來都是非常簡單的。

PS:關于gorm的基礎使用的請參考上一期的文章Go語言gorm框架MySQL實踐。

Gorm 高級查詢

越高級,越復雜的查詢,也同時意味著高耗,但是平時有一些數據少,但是業務復雜的場景,可以使用下。 這里主要說明的是 go 中使用 gorm 進務查詢。

有時候代碼是可需要映射到一個 map 結構, 不需要映射到一個 結構體中,可以寫成如下:

在涉及并發的場景,往往需要加鎖互斥,和 Java 類似, Go 中也有加行鎖的方式,加 for update 即可。

一般寫法如下:

示例代碼:

有時候,我們需要進行簡單的數據統計, 比如查詢到結果有多少行,

有時候也需要分組統計行數

有時候我們會使用到數據統計的功能, 比如根據數據庫字段 batch_no 進行分組,然后統計總金額,總筆數。

分組查詢統計一般的寫法如下:

代碼示例:

一般來說,很少使用關聯查詢,但是如果要使用關聯查詢,可以如下:

Scopes 允許你指定常用的查詢,可以在調用方法時引用這些查詢, 也就是說,可以在查詢中使用函數。

舉個例子:

在這里插入圖片描述

gorm基本使用

gorm安裝

gorm框架是go的一個數據庫連接及交互框架,一般用于連接關系型數據庫。

安裝gorm,使用命令安裝:

go get -u -v github點抗 /jinzhu/gorm

連接數據庫

構建連接的目標為數據庫中某一個庫,同大多數框架一樣使用url進行連接,url基本格式:

用戶名:密碼@連接方式(ip:port)/數據庫名?參數

參數描述:

用戶名 :連接數據庫用戶名

密碼 :連接數據庫密碼

連接方式 :或稱為訪問協議,一般為tcp

ip :數據庫所在服務器地址

port :數據庫監聽端口

數據庫名 :數據庫中對應要連接庫名

參數 :附加數據庫參數,根據數據庫不同內容不同

確定url后,就可以調用gorm中參數進行連接數據庫操作:

別忘記import語句導入包:

操作完數據庫后不要忘了關閉連接:

表操作

創建表

gorm創建表基于結構體,所以創建表前要先用結構體規劃表結構,這里簡單寫一個結構體,創建表時默認結構體第一個字段作為主鍵:

寫好結構體后,調用創建表語句直接按照結構體結構創建表:

當直接創建表時,表名遵循規范:

1、大寫字母全部小寫,所有位于中間的大寫字母都變成小寫字母并且前面加下劃線,例如UserInfo結構體創建為表名稱為user_infos。

2、上面最后的那個s是因為直接創建表時,名稱最后都會加上一個s。所以上面結構體User創建表后名稱為users。

刪除表

增刪改查

插入數據

插入數據,插入數據方法結構使用Create方法:

查詢數據

查詢第一條找到的數據,使用First,該方法返回值仍然為db對象,所以接收數據時我們需要先定義一個對應表結構的結構體接收數據:

有First就有Last,同First調用格式一致。

批量查詢,批量查詢使用Find方法,其余參數結構同First或Last相同,只不過傳參時一般傳入數組參數,當然,First或Last方法也可以傳入數組參數,但得到的數組只有一個數據,批量查詢操作:

更新數據

刪除內容

go語言對gorm不固定條件查詢封裝

在寫sql語句時,where的條件主要是 key=1 and key2=2 或者 key=1 or key2=2 這種形式[還有 and與or 混合]。

認真分析會發現條件有 4部分 組成-- 字段名、操作符、查詢值、與前一個條件的關系[and,or] ,這樣就很容易實現了。下面就是一個說明,為了簡化,其中會默認省略一些特征。

啟動項目

訪問測試地址:

帶分頁的地址:

網站名稱:go語言gorm獲取索引 go語言調用so
文章地址:http://m.newbst.com/article48/ddieohp.html

成都網站建設公司_創新互聯,為您提供建站公司動態網站、小程序開發、網站排名、網站設計、定制網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

小程序開發