主頁 > 資料庫 > SQL SELECT 陳述句基礎

SQL SELECT 陳述句基礎

2021-11-02 12:29:01 資料庫

目錄
  • 一、列的查詢
  • 二、查詢出表中所有的列
  • 三、為列設定別名
  • 四、常數的查詢
  • 五、從結果中洗掉重復行
  • 六、根據 WHERE 陳述句來選擇記錄
  • 七、注釋的書寫方法
  • 請參閱

學習重點

  • 使用 SELECT 陳述句從表中選取資料,

  • 為列設定顯示用的別名,

  • SELECT 陳述句中可以使用常數或者運算式,

  • 通過指定 DISTINCT 可以洗掉重復的行,

  • SQL 陳述句中可以使用注釋,

  • 可以通過 WHERE 陳述句從表中選取出符合查詢條件的資料,

一、列的查詢

從表中選取資料時需要使用 SELECT 陳述句,也就是只從表中選出(SELECT)必要資料的意思,通過 SELECT 陳述句查詢并選取出必要資料的程序稱為匹配查詢查詢(query),

KEYWORD

  • SELECT 陳述句

  • 匹配查詢

  • 查詢

SELECT 陳述句是 SQL 陳述句中使用最多的最基本的 SQL 陳述句,掌握了 SELECT 陳述句,距離掌握 SQL 陳述句就不遠了,

SELECT 陳述句的基本語法如下所示,

語法 1 基本的 SELECT 陳述句

SELECT <列名>,……
 FROM <表名>;

SELECT 陳述句包含了 SELECTFROM 兩個子句(clause),子句是 SQL 陳述句的組成要素,是以 SELECT 或者 FROM 等作為起始的短語,

KEYWORD

  • 子句

SELECT 子句中列舉了希望從表中查詢出的列的名稱,而 FROM 子句則指定了選取出資料的表的名稱,

接下來,我們嘗試從 表的創建 中創建出的 Product(商品)表中,查詢出圖 1 所示的 product_id(商品編號)列、product_name(商品名稱)列和 purchase_price(進貨單價)列,

查詢出 Product 表中的列

圖 1 查詢出 Product 表中的列

對應的 SELECT 陳述句請參見代碼清單 1,該陳述句正常執行的結果如執行結果所示 [1]

代碼清單 1 從 Product 表中輸出 3 列

SELECT product_id, product_name, purchase_price
  FROM Product;

執行結果

product_id | product_name | purchase_price
-----------+--------------+---------------
0001       | T恤衫        |            500
0002       | 打孔器       |            320
0003       | 運動T恤      |           2800
0004       | 菜刀         |           2800
0005       | 高壓鍋       |           5000
0006       | 叉子         |
0007       | 擦菜板       |            790
0008       | 圓珠筆       |

SELECT 陳述句第一行的 SELECT product_id, product_name, purchase_price 就是 SELECT 子句,查詢出的列的順序可以任意指定,查詢多列時,需要使用逗號進行分隔,查詢結果中列的順序和 SELECT 子句中的順序相同 [2]

二、查詢出表中所有的列

想要查詢出全部列時,可以使用代表所有列的星號(*),

KEYWORD

  • 星號(*

語法 2 查詢全部的列

SELECT *
  FROM <表名>;

例如,查詢 Product 表中全部列的陳述句如代碼清單 2 所示,

代碼清單 2 輸出 Product 表中全部的列

SELECT *
  FROM Product;

得到的結果和代碼清單 3 中的 SELECT 陳述句的結果相同,

代碼清單 3 與代碼清單 2 具有相同含義的 SELECT 陳述句

SELECT product_id, product_name, product_type, sale_price,
       purchase_price, regist_date
  FROM Product;

執行結果如下所示,

執行結果

 product_id | product_name | product_type | sale_price | purchase_price | regist_date
------------+--------------+--------------+------------+----------------+------------
 0001       | T恤衫        | 衣服         |       1000 |            500 | 2009-09-20
 0002       | 打孔器       | 辦公用品     |        500 |            320 | 2009-09-11
 0003       | 運動T恤      | 衣服         |       4000 |           2800 |
 0004       | 菜刀         | 廚房用具     |       3000 |           2800 | 2009-09-20
 0005       | 高壓鍋       | 廚房用具     |       6800 |           5000 | 2009-01-15
 0006       | 叉子         | 廚房用具     |        500 |                | 2009-09-20
 0007       | 擦菜板       | 廚房用具     |        880 |            790 | 2008-04-28
 0008       | 圓珠筆       | 辦公用品     |        100 |                | 2009-11-11

法則 1

星號(*)代表全部列的意思,

但是,如果使用星號的話,就無法設定列的顯示順序了,這時就會按照 CREATE TABLE 陳述句的定義對列進行排序,

專欄

隨意使用換行符

SQL 陳述句使用換行符或者半角空格來分隔單詞,在任何位置進行分隔都可以,即使像下面這樣通篇都是換行符也不會影響 SELECT 陳述句的執行,但是這樣可能會由于看不清楚而出錯,原則上希望大家能夠以子句為單位進行換行(子句過長時,為方便起見可以換行),

SELECT
*
FROM
Product
;

另外,像下面這樣插入空行(無任何字符的行)會造成執行錯誤,請特別注意,

SELECT *

 FROM Product;

三、為列設定別名

SQL 陳述句可以使用 AS 關鍵字為列設定別名,請參見代碼清單 4,

KEYWORD

  • AS 關鍵字

  • 別名

代碼清單 4 為列設定別名

SELECT product_id     AS id,
       product_name   AS name,
       purchase_price AS price
  FROM Product;

執行結果

 id   |  name   | price
------+---------+-------
0001  | T恤衫   |   500
0002  | 打孔器  |   320
0003  | 運動T恤 |  2800
0004  | 菜刀    |  2800
0005  | 高壓鍋  |  5000
0006  | 叉子    |
0007  | 擦菜板  |   790
0008  | 圓珠筆  |

別名可以使用中文,使用中文時需要用 雙引號(" 括起來 [3],請注意不是單引號('),設定中文別名的 SELECT 陳述句請參見代碼清單 5,

KEYWORD

  • 雙引號("

代碼清單 5 設定中文別名

SELECT product_id     AS "商品編號",
       product_name   AS "商品名稱",
       purchase_price AS "進貨單價"
  FROM Product;

執行結果

商品編號  | 商品名稱 | 進貨單價
----------+----------+---------
0001      | T恤衫    |     500
0002      | 打孔器   |     320
0003      | 運動T恤  |    2800
0004      | 菜刀     |    2800
0005      | 高壓鍋   |    5000
0006      | 叉子     |
0007      | 擦菜板   |     790
0008      | 圓珠筆   |

通過執行結果來理解就更加容易了,像這樣使用別名可以讓 SELECT 陳述句的執行結果更加容易理解和操作,

法則 2

設定漢語別名時需要使用雙引號(")括起來,

四、常數的查詢

SELECT 子句中不僅可以書寫列名,還可以書寫常數,代碼清單 6 中的 SELECT 子句中的第一列 '商品'字串常數,第 2 列 38數字常數,第 3 列 '2009-02-24'日期常數,它們將與 product_id 列和 product_name 列一起被查詢出來,[4]

KEYWORD

  • 字串常數

  • 數字常數

  • 日期常數

代碼清單 6 查詢常數

SELECT '商品' AS string, 38 AS number, '2009-02-24' AS date,
       product_id, product_name
  FROM Product;

執行結果

 string  |  number  |    date     | product_id | product_name
---------+----------+-------------+------------+--------------
 商品    |  38      | 2009-02-24  | 0001       | T恤衫
 商品    |  38      | 2009-02-24  | 0002       | 打孔器
 商品    |  38      | 2009-02-24  | 0003       | 運動T恤
 商品    |  38      | 2009-02-24  | 0004       | 菜刀
 商品    |  38      | 2009-02-24  | 0005       | 高壓鍋
 商品    |  38      | 2009-02-24  | 0006       | 叉子
 商品    |  38      | 2009-02-24  | 0007       | 擦菜板
 商品    |  38      | 2009-02-24  | 0008       | 圓珠筆

如上述執行結果所示,所有的行中都顯示出了 SELECT 子句中的常數,

此外,SELECT 子句中除了書寫常數,還可以書寫計算式,我們將在 [算術運算子和比較運算子]({{<ref "602-02-02-算術運算子和比較運算子.md"="">}}) 中學習如何書寫計算式,

五、從結果中洗掉重復行

想知道 Product 表中保存了哪些商品種類(product_type)時,如果能像圖 2 那樣洗掉重復的資料該有多好啊,

除去重復資料后的商品種類

圖 2 除去重復資料后的商品種類

如上所示,想要洗掉重復行時,可以通過在 SELECT 子句中使用 DISTINCT 來實作(代碼清單 7),

KEYWORD

  • DISTINCT 關鍵字

代碼清單 7 使用 DISTINCT 洗掉 product_type 列中重復的資料

SELECT DISTINCT product_type
  FROM Product;

執行結果

 product_type
---------------
 廚房用具
 衣服
 辦公用品

法則 3

SELECT 陳述句中使用 DISTINCT 可以洗掉重復行,

在使用 DISTINCT 時,NULL 也被視為一類資料,NULL 存在于多行中時,也會被合并為一條 NULL 資料,對含有 NULL 資料的 purchase_price(進貨單價)列使用 DISTINCTSELECT 陳述句請參見代碼清單 8,除了兩條 2800 的資料外,兩條 NULL 的資料也被合并為一條,

代碼清單 8 對含有 NULL 資料的列使用 DISTINCT 關鍵字

SELECT DISTINCT purchase_price
  FROM Product;

執行結果

對含有 NULL 資料的列使用 DISTINCT 關鍵字

DISTINCT 也可以像代碼清單 9 那樣在多列之前使用,此時,會將多個列的資料進行組合,將重復的資料合并為一條,代碼清單 9 中的 SELECT 陳述句,對 product_type(商品種類)列和 regist_date(登記日期)列的資料進行組合,將重復的資料合并為一條,

代碼清單 9 在多列之前使用 DISTINCT

SELECT DISTINCT product_type, regist_date
  FROM Product;

執行結果

 product_type | regist_date
--------------+------------
 衣服         | 2009-09-20
 辦公用品     | 2009-09-11
 辦公用品     | 2009-11-11
 衣服         |
 廚房用具     | 2009-09-20
 廚房用具     | 2009-01-15
 廚房用具     | 2008-04-28

如上述執行結果所示,product_type 列為 '廚房用具',同時 regist_date 列為 '2009-09-20' 的兩條資料被合并成了一條,

DISTINCT 關鍵字只能用在第一個列名之前,因此,請大家注意不能寫成 regist_date, DISTINCT product_type

六、根據 WHERE 陳述句來選擇記錄

前面的例子都是將表中存盤的資料全都選取出來,但實際上并不是每次都需要選取出全部資料,大部分情況都是要選取出滿足“商品種類為衣服”“銷售單價在 1000 日元以上”等某些條件的資料,

SELECT 陳述句通過 WHERE 子句來指定查詢資料的條件,在 WHERE 子句中可以指定“某一列的值和這個字串相等”或者“某一列的值大于這個數字”等條件,執行含有這些條件的 SELECT 陳述句,就可以查詢出只符合該條件的記錄了,[5]

KEYWORD

  • WHERE 子句

SELECT 陳述句中使用 WHERE 子句的語法如下所示,

語法 3 SELECT 陳述句中的 WHERE 子句

SELECT <列名>, ……
  FROM <表名>
 WHERE <條件運算式>;

圖 3 顯示了從 Product 表中選取商品種類(product_type)為 '衣服' 的記錄,

選取商品種類為'衣服'的記錄

圖 3 選取商品種類為’衣服’的記錄

從被選取的記錄中還可以查詢出想要的列,為了更加容易理解,我們在查詢 product_type 列的同時,把 product_name 列也讀取出來, SELECT 陳述句請參見代碼清單 10,

代碼清單 10 用來選取 product_type 列為 '衣服' 的記錄的 SELECT 陳述句

SELECT product_name, product_type
  FROM Product
 WHERE product_type = '衣服';

執行結果

 product_name | product_type
--------------+--------------
 T恤衫        | 衣服
 運動T恤      | 衣服

WHERE 子句中的“product_type = '衣服'”就是用來表示查詢條件的運算式(條件運算式),等號是比較兩邊的內容是否相等的符號,上述條件就是將 product_type 列的值和 '衣服' 進行比較,判斷是否相等,Product 表的所有記錄都會被進行比較,

KEYWORD

  • 條件運算式

接下來會從查詢出的記錄中選取出 SELECT 陳述句指定的 product_name 列和 product_type 列,如執行結果所示,也就是首先通過 WHERE 子句查詢出符合指定條件的記錄,然后再選取出 SELECT 陳述句指定的列(圖 4),

選取行之后,再輸出列

圖 4 選取行之后,再輸出列

代碼清單 10 中的陳述句為了確認選取出的資料是否正確,通過 SELECT 子句把作為查詢條件的 product_type 列也選取出來了,其實這并不是必須的,如果只想知道商品名稱的話,可以像代碼清單 11 那樣只選取出 product_name 列,

代碼清單 11 也可以不選取出作為查詢條件的列

SELECT product_name
  FROM Product
 WHERE product_type = '衣服';

執行結果

 product_name
---------------
 T恤衫
 運動T恤

SQL 中子句的書寫順序是固定的,不能隨意更改WHERE 子句必須緊跟在 FROM 子句之后,書寫順序發生改變的話會造成執行錯誤(代碼清單 12),

代碼清單 12 隨意改變子句的書寫順序會造成錯誤

SELECT product_name, product_type
 WHERE product_type = '衣服'
  FROM Product;

執行結果(PostgreSQL)

ERROR: "FROM"或者其前后有語法錯誤
第3行: FROM Product;
        ^

法則 4

WHERE 子句要緊跟在 FROM 子句之后,

七、注釋的書寫方法

最后給大家介紹一下注釋的書寫方法,注釋是 SQL 陳述句中用來標識說明或者注意事項的部分,

KEYWORD

  • 注釋

注釋對 SQL 的執行沒有任何影響,因此,無論是英文字母還是漢字都可以隨意使用,

注釋的書寫方法有如下兩種,

  • 單行注釋

    書寫在“--”之后,只能寫在同一行,[6]

    KEYWORD

    • 單行注釋

    • --

  • 多行注釋

    書寫在“/*”和“*/”之間,可以跨多行,

    KEYWORD

    • 多行注釋

    • /*

    • */

實際的示例請參見代碼清單 13 和代碼清單 14,

代碼清單 13 單行注釋的使用示例

-- 本 SELECT 陳述句會從結果中洗掉重復行,
SELECT DISTINCT product_id, purchase_price
  FROM Product;

代碼清單 14 多行注釋的使用示例

/* 本 SELECT 陳述句,
   會從結果中洗掉重復行,*/
SELECT DISTINCT product_id, purchase_price
  FROM Product;

任何注釋都可以插在 SQL 陳述句中(代碼清單 15、代碼清單 16),

代碼清單 15 在 SQL 陳述句中插入單行注釋

SELECT DISTINCT product_id, purchase_price
-- 本 SELECT 陳述句會從結果中洗掉重復行,
  FROM Product;

代碼清單 16 在SQL 陳述句中插入多行注釋

SELECT DISTINCT product_id, purchase_price
/* 本 SELECT 陳述句,
   會從結果中洗掉重復行,*/
  FROM Product;

這些 SELECT 陳述句的執行結果與沒有使用注釋時完全一樣,注釋能夠幫助閱讀者更好地理解 SQL 陳述句,特別是在書寫復雜的 SQL 陳述句時,希望大家能夠盡量多加簡明易懂的注釋,注釋不僅可以寫在 SELECT 陳述句中,而且可以寫在任何 SQL 陳述句當中,寫多少都可以,

法則 5

注釋是 SQL 陳述句中用來標識說明或者注意事項的部分,

分為單行注釋和多行注釋兩種,

請參閱

  • SELECT 陳述句基礎
  • 算術運算子和比較運算子
  • 邏輯運算子

(完)


  1. 結果的顯示方式根據 RDBMS 的客戶端的不同略有不同(資料的內容都是相同的),如無特殊說明,本教程中顯示的都是 PostgreSQL 9.5 的執行結果, ??

  2. 行的順序也可能存在與上述執行結果不同的情況,如果用戶不設定 SELECT 陳述句執行結果中行的順序,就可能會發生上述情況,行的排序方法將在 對查詢結果進行排序 中進行學習, ??

  3. 使用雙引號可以設定包含空格(空白)的別名,但是如果忘記使用雙引號就可能出錯,因此并不推薦,大家可以像 product_list 這樣使用下劃線(_)來代替空白, ??

  4. 在 SQL 陳述句中使用字串或者日期常數時,必須使用單引號 (') 將其括起來, ??

  5. 這和 Excel 中根據過濾條件對行進行過濾的功能是相同的, ??

  6. MySQL 中需要在“--”之后加入半角空格(如果不加的話就不會被認為是注釋), ??

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

標籤:SQL Server

上一篇:如何讓Kubernetes服務使用本地主機在Web瀏覽器上打開我的django應用程式?

下一篇:SQL SELECT 陳述句基礎

標籤雲
其他(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